DESKTOP-JM545O1_20200907-李东鹏

1. 问题

public class Tester{
public static void doSomething(Integer integer){
    integer=new Integer(2);
    }
public static void main(String[] args){
   Integer var1=new Integer(1);
   Integer var2=var1;
   doSomething(var2);
   System.out.println(var1.intValue());//1
   System.out.println(var1==var2);//true
}
}

引用传递是将实参的内存地址传递给形参 也可以理解为形参相当于新建的引用,该引用和实参指向相同的内存地址。
所以doSomething(Integer integer)新建了引用integer。
当doSomething(var2);被调用时 integer和var2指向了相同的内存地址。
当integer=new Integer(2);被调用时integer指向了新的内存地址。
但这并没有改变var2指向的内存地址的值。

2. 吐槽

咋我坐在窗户旁边还感觉到很热,这个空调好垃圾哦,感觉都没作用!

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1