Java基础之参数传值

基本类型的传值就是拷贝数值

引用传值

  1. 改变引用的指向
//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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kn5orLII-1601123885947)(https://i.loli.net/2020/09/26/DEVhkPCQRmIWN4F.png)]

  1. 改变引用指向对象本身
//自定义类的引用赋值
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
//对象的赋值是引用赋值,所以一个变量的改变会影响另一个对象的值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N2hd7yHc-1601123885950)(https://i.loli.net/2020/09/26/AfzXF9vSx4MUPq6.png)]

猜你喜欢

转载自blog.csdn.net/qq_33473340/article/details/108816776