一:概述

前面已经说了单个对象的引用指向和两个对象的引用指向。下面来说一下两个对象引用指向同一个对象的内存图。

二:具体说明

<1>说明的具体代码

实例代码

public class Student1 {
          String name;
          int age;
          public void study() {
              System.out.println("好好学习");
          }
public static void main(String[] args) {
          Student s1 = new Student();
          System.out.println(s1);
          s1.name = "小明";
          Student s2 = s1;
          //System.out.println(s2);
          s2.name = "小亮";
          s2.age = 21;
          System.out.println(s2.name + "...." + s1.age);
          s1 = null;;
          System.out.println(s1.name);
          System.out.println(s2.name);
          s2 = null;
      }
}

<2>内存图的具体说明

                               java面向对象基础语法之两个引用指向同一个对象内存图_内存空间

                               java面向对象基础语法之两个引用指向同一个对象内存图_System_02

<3>总结

* 当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的)

只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对象进行数据获取,都是修改后的数据。