方法参数分为形参和实参,形参是方法声明时的参数,实参是方法调用时实际给的参数值。
Java中方法的参数传递方式只有一种:值传递,当形参是基本数据类型:传递 “具体数据值” ,当形参是引用数据类型:传递 “内存地址值” 。
示例:传递基本数据类型
class Test{
public static void main(String[] args) {
int m = 10;
int n = 20;
System.out.println("执行方法之前:m="+m+",n="+n); //m=10,n=20
swmp(m,n);
System.out.println("执行方法之后:m="+m+",n="+n); //m=10,n=20
}
public static void swmp(int m, int n) {
int temp = m;
m = n;
n = temp;
}
}
内存图:
示例:传递引用数据类型
class Person {
int age = 10;
}
class Test{
public static void main(String[] args) {
Person person = new Person();
System.out.println("执行方法之前:age=" + person.age); //age=10
swmp(person);
System.out.println("执行方法之后:age=" + person.age); //age=20
}
public static void swmp(Person p) {
p.age = 20;
}
}
内存图: