PS:黑色加粗为重点关注内容
- 值传递和引用传递有什么区别
- 值传递:指的是在方法调用时,传递的是值的拷贝,也就是说传递后就互不相关了。
- 引用传递:指的是在方法调用时,传递的是引用的地址,也就是变量所对应的内存空间的地址,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。
- Java 只支持值传递
- 对象采用的不是引用调用,实际上,对象引用是按值传递的。
- 如传递一个对象,对象本身存在于堆中,而对象的引用存在于栈中
- 所以方法中的参数是引用类型时,传递的是栈中的引用,即还是值传递,此时有两个引用指向堆中的同一个对象。
Java只支持值传递,即使是对象,也是按值传递对象的引用。在方法调用时,对象本身存于堆中,引用存于栈中,参数是引用类型时,传递的是栈中引用的副本,仍属于值传递,两个引用指向同一堆对象。
7601

被折叠的 条评论
为什么被折叠?



