https://blog.csdn.net/bjweimengshu/article/details/79799485
文章链接直跳
先看完这篇文章。
个人理解:
只是java中的传递方式,不像c和c++直接把原地址给形参。java是对该地址先进行了一次复制,然后把复制品给了形参。其实按本质来说效果都是一样的。
拿原文中的钥匙的那个例子来说,java就是把钥匙复制一次给了别人,别人照常能进入家里,改值什么的。c你把原钥匙给别人,别人也能进家里。不用纠结到底是值传递,还是地址传递,这个都是因为JVM造成的。只要记住,java中传递的,都是栈中的值,栈里面是基本数据类型就把基本数据类型复制了,是地址就把地址复制了。
如果我的理解有偏差,望批评指正。