一、值传递
public class test_01 {
public static void main(String[] args) {
int i=10;
add(i);
System.out.println("main--->"+i);
}
public static void add(int i) {
i++;
System.out.println("add--->"+i);
}
}
内存图:
Java语言当中涉及参数传递问题,实际上是传递变量中保存的具体值。
二、地址传递
public class test_02 {
public static void main(String[] args) {
User u=new User(20);
//传递u给add方法的时候,实际上传递的是u变量中保存的值,只不过这个值是Java对象内存地址
add(u);
System.out.println("main--->"+u.age);
}
public static void add(User u) {
u.age++;
System.out.println("add--->"+u.age);
}
}
class User {
int age;
public User(int i) {
age=i;
}
}
方法调用的时候:将变量中的“值”传递过去