Java中方法的參數老是採用傳值的方式。函數
下列方法欲實現對象的交換,但其實是不能實現的。spa
public void swap(simpleClass a,simpleClass b){ simpleClass temp=a; a=b; b=a; }
由於傳入swap的參數實際是對象a和b的一個拷貝(假設爲aa,bb)。指針
在方法中雖然交換了aa和bb,但方法結束後它們再也不存在。code
a和b仍然引用調用swap以前的對象。對象
-------------------------分割線 ------------------------------------blog
其實與c傳指針是一個道理,class
假設一個指針自己的地址爲0xFFFFFF1A,指向的地址爲(0x000001),引用
傳入函數的是指針的值,即0x000001。方法