![]() |
1
3
你的问题与传递值无关*。你的问题是关于对象引用的。
将对象引用视为
中的值
这就像我们有一个
这个
在里面
之后
...它对
在(1)中,您将分配给
让我们按照第一个代码块进行操作,但我将使用
你的记忆中有这样的东西: +âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | | p: null | +âââââââââââââââââ+ +ââââââââââââââââââ+ p: [Ref21354]âââââââââââââââââââââââââââ>| (Person) | +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+
(省略了许多细节;例如,字符串实际上是指
然后,当您这样做时:
你有(唯一的变化是
+âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | | p: [Ref21354] |ââ+ +âââââââââââââââââ+ | | \ +ââââââââââââââââââ+ p: [Ref21354]ââââââââââââââââââââââââââ+ââ>| (Person) | +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+
看看怎么做
最后,当你这样做时:
+âââââââââââââââââ+ c: [Ref11325]âââ>| (Container) | +âââââââââââââââââ+ | className: null | +ââââââââââââââââââ+ | p: [Ref21354] |ââââââ>| (Person) | +âââââââââââââââââ+ +ââââââââââââââââââ+ +ââââââââââââ+ | name: [Ref54312] |âââ>| (String) | +ââââââââââââââââââ+ +ââââââââââââ+ | "studName" | +ââââââââââââ+ +âââââââââââââââââ+ p: [Ref34851]âââââââââââââââââââââââââââââ>| (Person) | +âââââââââââââââââ+ | name: null | +âââââââââââââââââ+
*“按值传递”和“按引用传递”是艺术术语,与将变量传递到函数时发生的情况有关:
在传递值中
价值
变量 |
![]() |
2
1
|
![]() |
3
0
执行此操作时:
的实例
执行此操作时:
这些变量中的“值”只是对象所在堆中的一种地址。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 4 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 5 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 5 月前 |
![]() |
rudraraj · java中未声明最终变量 5 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 5 月前 |