一、值传递
public class MethodDemo1 {
public static void main(String[] args) {
/*
目标:理解方法的参数传递机制:值传递。change(a) = change(10) a只是将自己的值10拷贝了一份传给了change方法,故a = 10,而main方法中的a没变
*/
int a = 10;
int rs = change(a);
System.out.println("main:" + a); // 10
System.out.println(rs); // 20
}
public static int change(int a) {
System.out.println("change1:" + a); // 10
a = 20;
System.out.println("change2:" + a); // 20
return a;
}
}
在传递参数是,形参接到的只是实参的值,而并非是实参的地址,因此方法中的形参和调用方法外的实参是两个变量(拥有不同的地址),只是两个变量的值是一样的。
形参的作用域只是在该方法中,而实参的作用域也仅限于实参的所在方法中!