PETER Phantom says to 電訊台
Pass by value, 在static void main 中 第二句是dog.setName( peter ); 而在class dog 中 setname 是指 peter = dogName 並以string 為文字 save入 dog name = peter. 但在你第三句 dog setname = Max 你這句statement 令系統指回foo 而當中是 public static 導致它改出來的valuable 去到class 範圍的意思 而foo 當中是setname 又去回第一個class 中的method set name 導致 system 改寫成max 並存了name 你第四句是println dog.getname 又指回第一個程式的method return name 出來 咁name 咪就係max 了