变量传递赋值和对象传递赋值的区别

当定义变量 

int a=123;

int b=0;

执行:

b=a;

那么 a=123;b=123;

执行:

a=111;

依然有b=123;

这是因为变量传递赋值时,是传递的值的对应地址,而不是变量的地址。

但是如果换为以对象(或者引用)传递赋值时,实际传递的是这个对象的存储地址,所以:

class Test{

int test;

}

Test t1=new Test();

Test t2=new Test();

t1.test=1;

t2.test=2;

那么,如果 t2=t1,

这时:t2.test=1,因为这时的t2=t1,也就是说t2和t1在内存中指向同一个地址

原文地址:https://www.cnblogs.com/zhangdebin/p/5567941.html