基本类型的传值就是拷贝数值
引用传值
- 改变引用的指向
//Integer的自动装箱和拆箱
Integer i1 = new Integer("3");
Integer i2 = new Integer("5");
i1 = i2;//i1和i2现在指向同一个对象
i1 = new Integer("2");//引用i1重新指向新的对象,和i2互不干扰
System.out.println(i1 + "-----" + i2);//输出2-----5
- 改变引用指向对象本身
//自定义类的引用赋值
Test02Bean b1 = new Test02Bean();
Test02Bean b2 = new Test02Bean();
b1.i = 1;
b2.i = 2;
b1 = b2;//b1和b2现在指向同一个对象
b1.i = 0;//现在改变b1引用指向对象的值,改变对象本身同样会影响b2引用所指向的值,因为他们两个指向同一个对象
System.out.println(b1.i + "-----" + b2.i);//输出0-----0
//对象的赋值是引用赋值,所以一个变量的改变会影响另一个对象的值