https://blog.csdn.net/bjweimengshu/article/details/79799485
文章鏈接直跳
先看完這篇文章。
個人理解:
只是java中的傳遞方式,不像c和c++直接把原地址給形參。java是對該地址先進行了一次複製,然後把複製品給了形參。其實按本質來說效果都是一樣的。
拿原文中的鑰匙的那個例子來說,java就是把鑰匙複製一次給了別人,別人照常能進入家裏,改值什麼的。c你把原鑰匙給別人,別人也能進家裏。不用糾結到底是值傳遞,還是地址傳遞,這個都是因爲JVM造成的。只要記住,java中傳遞的,都是棧中的值,棧裏面是基本數據類型就把基本數據類型複製了,是地址就把地址複製了。
如果我的理解有偏差,望批評指正。