理解java中的值传递与“引用传递”

时间:2024-08-17 16:03:26

额。。。。java中其实没有引用传递

对于引用类型 ,在调用方法后,直接拷贝了引用的副本,但是它们指向了相同的堆地址,所以看起来像引用传递,但其实是值传递,只不过传递的引用的副本。

说一说为什么String这个对象类型。调用方法参数后,直接在栈内存(常量值)中拷贝了一份,所以在方法中对String的改变和原来的是无关的。另外可以通过new 的方法在堆中建立一个String对象

至于其他的基本数据类型,就不用多说了,因为在内存拷贝了一份副本,所以方法中对基本类型的操作和原来的当然是无关的。