以下代码的输出应该是什么?为什么?输出结果是131713.下面是代码 . 对象引用正在交换,因此值正在变化 .
public class Test {
int age;
String name;
Test(int age,String name) {
this.age=age;
this.name=name;
}
public static void main(String[] args){
Test t1 = new Test(17,"A");
Test t2 = new Test(13,"B");
Test t3 = new Test(14,"C");
t3=t2;
t2=t1;
t1=t3;
System.out.print(t1.age);
System.out.print(t2.age);
System.out.print(t3.age);
}
}
1 回答
更改引用变量的值不会修改它引用的对象内的任何内容 . 但它可以使该变量引用不同的对象 . 变量独立于对象而存在 . 这可以如下图所示显示 .
创建三个对象后,就会出现这种情况 .
然后你改变t3指的是什么,所以你有
然后你改变t2指的是什么,所以你有
并且你改变t1指的是什么,所以你有
然后你开始打印东西 . 如上面的最终图所示,
t1.age
和t3.age
都是13
,t2.age
是17
.