阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间

时间:2021-09-03 19:57:09

新建demo03,把one的地址值赋值给two
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
选中的这部分因为赋值的是one地址的引用,
这里再是默认值了,不在是null值了。所以输出的内容和one是一样的。
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
two是one玩完剩下的二手货
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间

内存中发生的变化

这种情况中内存中发生了什么事情?保证它的结果不一样

还是main方法先开始,main方法进栈
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间

还是走的之前的流程,关键的代码是红色框内选中的地方
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间

阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
把0x666赋值给two这个对象。橙色部分
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
改变属性的值为三星、5999.0、蓝色 这就是修改之后的数值
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
橙色的部分。都是方法进栈,调用call方法、sendMessage方法
阶段1 语言基础+高级_1-2 -面向对象和封装_9两个引用指向同一个对象空间
对象的名称也叫做对象的引用名

两个对象引用指向了同一个对象空间