Java:方法的参数是传值还是传引用

时间:2024-04-05 09:04:10

Java中方法的参数总是采用传值的方式。

下列方法欲实现对象的交换,但实际上是不能实现的。

public void swap(simpleClass a,simpleClass b){
simpleClass temp=a;
a=b;
b=a;
}

因为传入swap的参数实际是对象a和b的一个拷贝(假设为aa,bb)。

在方法中虽然交换了aa和bb,但方法结束后它们不再存在。

a和b仍然引用调用swap之前的对象。

-------------------------分割线 ------------------------------------

其实与c传指针是一个道理,

假设一个指针本身的地址为0xFFFFFF1A,指向的地址为(0x000001),

传入函数的是指针的值,即0x000001。