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