package CanShuChuanDi;
public class CanShuChuanDi {
public static void main(String[] args){
int i = 10;
add(i);
System.out.println("main---->"+i);
}
private static void add(int i) {
i++;
System.out.println("add---->"+i);
}
}
运行结果:
main函数中的i=10,传递进add(i)函数的时候,只是传递的是10这个值,只是把10复制一份传给了add(i)函数
package CanShuChuanDi;
public class Canshu02 {
public static void main(String[] args){
User u = new User(20);
add(u);
System.out.println("main--->"+u.age);
}
private static void add(User u) {
u.age++;
System.out.println("add--->"+u.age);
}
}
class User{
//实例变量
int age;
//构造方法
public User(int i){
age = i;
}
}
运行结果:
分析:
方法调用的时候涉及参数传递的时候,传递的时候,只是将变量中保存的值传过去了,只是有时候是保存的是字面值10,有时候是保存的是另一个JAVA对象的地址