Discuss / Java / 谢谢老师的回复,又思考了一下

谢谢老师的回复,又思考了一下

Topic source

哒哒大萌

#1 Created at ... [Delete] [Delete and Lock User]

昨天的说法确实很有错误,首先“引用”的概念是我瞎编出来的,虽然叫“引用型变量”,但是目前还没学习“引用”这个概念,其次“将输入变量所引用的内容复制到实例的field”是错误的,没这么复杂,就是把输入变量的值给了实例的field。

这样解释不知是否正确:对于字符串,变量的值是它的对象的起始地址(可能会加上一些代表指向的符号),把这个地址给了实例的field后,该field就一直指向这个对象了,修改输入变量的值,也只是让它指向了其它对象,而之前的对象不会改变,因此实例的field不会变。对于字符串数组,变量的值是多个相邻的引用型变量的起始地址,赋值语句让实例的field也指向了这个地址,改变字符串数组的元素时,其实质是修改这些相邻的引用型变量的指向,但它们自身的地址没有变,因此field的内容会随着字符串数组元素指向的改变而改变。


  • 1

Reply