1、参数和方法里的局部变量可以认为是一样的东西。
2、发生在代码块儿里的,就让他留在代码块里。方法执行完毕,参数和方法的局部变量的数据就会被删除和回收。他们的作用就好像是演草纸,作用是计算一个值,算好之后,演草纸就可以扔了。
3、调用一个有返回值的方法时,就好像访问一个成员变量。
int paramPrime = 7;
m.willOutsideValueChangeIfParameterValueChangeHerePrime(paramPrime); // m是一个对象,执行m对象中的方法。
public void willOutsideValueChangeIfParameterValueChangeHerePrime(int intVal) {
intVal = 99999999;
} // 这个是m对象中的方法。
思考问题:
在执行完
m.willOutsideValueChangeIfParameterValueChangeHerePrime(paramPrime);
参数paramPrime会变为99999999吗?
答案:不会。
m.willOutsideValueChangeIfParameterValueChangeHerePrime(paramPrime);
/*执行这段代码的效果类似如下代码
int intVal = paramPrime;
intVal = 99999999;相当于将代码抽出来,对intVal 进行了两次赋值,不可能改变实参的值*/
4、如果参数是个对象的引用,是可以影响到实例变量(对象)中的属性,因为相当于传入的是地址。
总结: