public class People
{
int age;
public void change(int i)
{
i++;
}
public void change2(People p)
{
p=new People();
p.age++;
}
public void change3(People p,int i)
{
p.age++;
i++;
}
public static void main(String[] args)
{
People people=new People();
people.change(people.age); //将年龄(注意是int类型的)传给change的i ,值传递,两者没有任何 关系。返回的是初始化的0
System.out.println(people.age);
people.change2(people); //将people赋给change2的p,但change2的方法中将p又新建了一个空间,所以两者指向不同的存储区域,形参的值变为1,但原来的区域值仍为0
System.out.println(people.age);
people.change3(people,people.age);//将实参和形参所指的区域为同一地方,形参的值变为1,所以实参也为1。和int类型的i无关。
System.out.println(people.age);
}
}
{
int age;
public void change(int i)
{
i++;
}
public void change2(People p)
{
p=new People();
p.age++;
}
public void change3(People p,int i)
{
p.age++;
i++;
}
public static void main(String[] args)
{
People people=new People();
people.change(people.age); //将年龄(注意是int类型的)传给change的i ,值传递,两者没有任何 关系。返回的是初始化的0
System.out.println(people.age);
people.change2(people); //将people赋给change2的p,但change2的方法中将p又新建了一个空间,所以两者指向不同的存储区域,形参的值变为1,但原来的区域值仍为0
System.out.println(people.age);
people.change3(people,people.age);//将实参和形参所指的区域为同一地方,形参的值变为1,所以实参也为1。和int类型的i无关。
System.out.println(people.age);
}
}