java里面的方法参数
在程序设计语言里面,有一些参数传递给方法的专业术语:按值调用;引用调用;以前还有的按名调用(Algol就是使用的这种)
其中java使用的就时按值调用:这种方法的特点是只得到所有参数的拷贝,方法不能修改传递给它的任意参数变量的内容
public class Main {
public static void main( String[] args)
{
int num = 1;
Main.change(num);
System.out.println("num = " + num);
}
public static void change(int n)
{
n = 2;
}
}
执行结果:
在这里我们可以看到,num的值并没有改变,这里面的执行过程可分为三步:
(1)n被初始化为num的一个拷贝——1
(2)n被修改为2,但是num任然是1,并没有改变
(3)方法接受后,n不再被使用(被自动回收)
所以,即时对n的值进行了操作让其改变,但是num的值因为没有对其做操作,所以num的值并没有改变