变量传递赋值和对象传递赋值的区别
当定义变量
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在内存中指向同一个地址