java方法的参数传递其一
基本类型
java方法的参数传递有时不太好理解,结合简单的图形来对此问题进行一些分析。主要是参照张孝祥所著<Java就业培训教程>。
本文先看看基本类型的参数传递。
以下面代码为例:
public class PassValue {
public staticvoid main(String[] args) {
int x=5;
change(x);
System.out.println(x);
}
Public staticvoid change(int x) {
X=3;
}
}
方法运行时参数的传递过程是,先在方法区开辟一个其所定义的类型的变量的空间,形参变量(就是方法里的局部变量)指向这个空间。见图 1_1。
之后把实参的值,赋给这个局部变量。这时方法内的局部变量x被赋值为 5。见图1_2 .
到此,调用方法change参数传递结束。看看后面代码运行的情况。方法内,局部变量的x被赋值3了,但方法外的x的值是5。见图1_3。
Change方法结束,change方法中x占据的内存被释放,程序返回。Main方法里的变量x 仍是 5,并没有改变。见图1_4.
到此,整个程序执行结束。
通过图片,可以清楚的看到变量的传递过程。