class Person{
String name;
Integer age;
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
public class Demo {
public static void main(String[] args) {
Person person1 = new Person();
person1.age=18;
person1.name ="张三";
System.out.println(person1);
Person person2 = person1;
person2.name = "李四";
person2.age = 20;
System.out.println(person1);
}
}
输出结果
Person{name='张三', age=18}
Person{name='李四', age=20}
分析:person2对象拿到了person1对象的引用,那么person2在堆内存中的地址与person1相同,所以person2的改变会引起person1的改变