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. 吐槽
咋我坐在窗户旁边还感觉到很热,这个空调好垃圾哦,感觉都没作用!
近期评论