Java:方法的參數是傳值仍是傳引用

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。方法

相關文章
相關標籤/搜索