java 程序设计语言总是采用按值调用,也就是说,方法得到的是所有参数值的一个拷贝,特别是,方法不能修改传递给它的任何参数变量的内容
例如:考虑下面的调用:
double percent = 10;
harry.saiseSalary(percent);
不必理睬这个方法的具体实现,在方法调用之后,percent的值还是10.
下面再仔细的研究一下这种情况,将定一个方法试图讲一个参数值增加至3倍:
public static void tripleValue(double x)
{
x = x * 3;
}
//然后点用这个方法
double percent = 10;
tripleValue(percent);
不过并没有做到这一点,调用这个方法之后,percent的值还是 10 。下面看一下具体的执行过程:
1)x被初始化为percent值的一个拷贝(也就是10);
2)x被乘以3后等于 30 。但是 percent 仍然是 10 ;(如图)
3)这个方法结束后,参数变量x不再使用。