天天看點

關于引用的那些事兒

Java本身都是值傳遞式的調用,對于對象傳遞的是位址值。給位址值重新指派等于重新指向,不會影響外層。

話不多說,看代碼

列印看看~~~

下面來看看是怎麼回事?

當運作到 changeAge(age) 時,傳遞的是一個确切的數值,進入 public void changeAge(int age)方法,這裡的age是形參,名字可以随便取,不影響程式的運作,傳入的age的作用範圍也是這個方法中,結束這個方法後,main函數繼續運作,此時age不變。

到 test02.changeName(person) 時,傳遞的是一個引用,一個位址值,存在于棧中,進入方法後,依據這個位址,修改堆中的值,此時person的name就被修改了,是以列印出的是修改後得值。

面試也偶爾會問到哦~~~~