坑一
注意他们是指向同一个对象
public class Userer {
public static void main(String[] args){
User u=new User(20); //第一步:从右到左执行
add(u); //第二步-----也就是方法调用
System.out.println("main--"+u.age); //第六步----输出21
}
public static void add(User u){ //第三步-----20
u.age++; //第四步----运算结果是21
System.out.println("add"+u.age); //第五步---输出21
}
}
class User{
int age;
public User(int i){
age=i;
}
}
画图分析
坑二
注意他们是在不同方法里面运行
public class Test01{
public static void main(String[] args){
int i=10;
add(i);
System.out.println("main----"+i); //10
}
public static void add(int i){
i++;
System.out.println("add----"+i); //11
}
}
画图分析
疑惑
为什么要这么写,理由呢??