java中的值传递和引用传递的区别

2024-11-05 22:51:51
推荐回答(2个)
回答1:

值传递和引用传递是c中的概念,在java中可以用于方便理解,但是java中是值传递的。说说区别吧,昨天刚好看见这个问题。8个基本数据类型是值传递,即方法内对其修改是不会改变实参的,其他引用类型(除了string)可以理解为引用传递,传进方法内部的是一个地址,可以理解为房子的钥匙,你有了钥匙,照样可以对房子进行改变,是吧。那为什么string不行呢?因为string是不可改变的,虽然它也是传了地址,但已经是第二个引用(b)了 ,当你对形参进行改变,这时候b会指向新的string对象。这时候原来的引用a是没有改变的,还是指向第一个对象。
不懂可以追问,共同学习

回答2:

基本数据类型都是值传递,对象包括String和数组都是引用传递