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

相关文章
相关标签/搜索