代码:
public void test() throws Exception {
Student student1 = new Student(),student2 = new Student(),student3 = new Student();
student1.setFk_Group_Id("1");
student2.setFk_Group_Id("2");
List<Student> list = new ArrayList<>();
student3 = student1;
list.add(student1);
student1.setFk_Group_Id("11");
System.out.println("list中的student1:"+list.get(0).getFk_Group_Id());
System.out.println("student3:"+student3.getFk_Group_Id()+"/n重新赋值");
student3.setFk_Group_Id("33");
student3 = student2;
System.out.println("list中的student1:"+list.get(0).getFk_Group_Id());
System.out.println("student1:"+student1.getFk_Group_Id());
System.out.println("student2:"+student2.getFk_Group_Id());
System.out.println("student3:"+student3.getFk_Group_Id());
}
结果:
list中的student1:11
student3:11/n重新赋值
list中的student1:33
student1:33
student2:2
student3:2
说明:
list.add(student1);则如果student1改了,list里面的student1也会改变,相当于共享一个对象引用。
student3 = student1;是student1和student3将共享一个对象引用,所以改了student3,student1也会
改变。
student3 = student2;则student2和student3将共享一个对象引用了