Integer aa = new Integer(1001);
Integer bb;
bb = aa;
bb=1002;
System.out.println(aa);
/* OutPut:
1001
*///:~
用Integer声明的也不是引用吗?java中具体哪些类型声明出来后不是引用而是对象?
Integer aa = new Integer(1001);
Integer bb;
bb = aa;
bb=1002;
System.out.println(aa);
/* OutPut:
1001
*///:~
用Integer声明的也不是引用吗?java中具体哪些类型声明出来后不是引用而是对象?
其实调试一下问题就很清楚了:
bb = aa; //bb确实是引用,指向aa对象的引用
bb=1002; // 关键在这儿,这儿是一个赋值语句,其作用是使得bb指向了一个新的对象应用
如果不是执行赋值语句,而是调用其他的方法就可以知道bb确实是aa的引用。
Person pa = new Person("I'm a.");
Person pb = pa;
pb.setName("I'm b now.");
System.out.println("pa:" + pa.getName());
Output:pa:I'm b now.