代码1:
public static void main(String[] args) {
String str1="123";
String str2=str1;
str2="456";
System.out.println(str1);
}
输出结果:123
代码2:
class Person{
String temp;
}
public class StringBufferDemo1 {
public static void main(String[] args) {
Person p1=new Person();
p1.temp="123";
System.out.println(p1.temp);
Person p2=p1;
p1.temp="456";
System.out.println(p2.temp);
}
}
输出结果:
123
456
“`
理解:
同为引用类型,不同的是,一个是给对象重新赋值,一个是给对象的某个属性赋值。
代码1:给String对象赋值,需要断开原来引用,新建其他堆空间的引用。
代码2:给对象p2属性赋值,不会断开原有对空间引用。
版权声明:本文为weixin_43125869原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。