請問java參數傳遞時,究竟傳遞的是什麼?
一直看到的答案都是參數傳遞時,如果是基本數據類型 那傳遞的就是值。如果是對象 數組等類型傳遞的就是地址。
大概類似與這種:圖片來源
那爲什麼一會是值一會是地址,又或是看起來是地址呢???
大膽猜測一下,對象和基本數據類型在棧中的存儲是一樣的。
一個基本數據類型在棧中存有名字、名字對應的地址、值;
一個對象在棧中存有對象名、對象名對應的地址、值(堆中地址)
所以,參數傳遞時,傳遞的都是值。 有點類似於操作系統的直接和間接尋址? 以上是我的想法,歡迎路過的各位指正。