class Person{
private int age;void shot()
{
System.out.println("age="+age);
}void t(Person p)
{
p.age=50;//我 这里 可以这样赋值吗?但是输出的结果都是0 , 0;有 点不解!?
System.out.println("新age="+age);}}public class T{
public static void main(String []args){
Person p1=new Person();
p1.t(new Person());
//p1.age=20;
p1.shot();
}
}
private int age;void shot()
{
System.out.println("age="+age);
}void t(Person p)
{
p.age=50;//我 这里 可以这样赋值吗?但是输出的结果都是0 , 0;有 点不解!?
System.out.println("新age="+age);}}public class T{
public static void main(String []args){
Person p1=new Person();
p1.t(new Person());
//p1.age=20;
p1.shot();
}
}
改为p1.t(p1)就OK了!
是给new Person()对象中的age赋值。
p1.t(p1)才是给p1对象中的age赋值。
p1.t(new Person());
其实并没有给p1赋值,另外建议楼主方法名取一些有意义的名字。