java的按值传递与按引用传递
还是比较混乱
主要看怎么理解了
java没有指针一说是因为jvm将指针给隐藏了起来
说到底还是靠地址
按值传递显然直接将内存空间的内容传递给对方
之后再与传递者无关
引用是在栈空间建一个堆空间对象的映射
应该就是保存一个地址
然后按引用传递
将该地址传递给对方(将其想成值也不是不可以)
对方相当于是在栈空间复制了一份堆空间对象的地址
显然是可以直接操作对象
当然如果对方重新指定了对象(拥有了另一个地址)
那就与之前对象无关了
还是比较混乱
主要看怎么理解了
java没有指针一说是因为jvm将指针给隐藏了起来
说到底还是靠地址
按值传递显然直接将内存空间的内容传递给对方
之后再与传递者无关
引用是在栈空间建一个堆空间对象的映射
应该就是保存一个地址
然后按引用传递
将该地址传递给对方(将其想成值也不是不可以)
对方相当于是在栈空间复制了一份堆空间对象的地址
显然是可以直接操作对象
当然如果对方重新指定了对象(拥有了另一个地址)
那就与之前对象无关了