一、值传递:
当把java的基本类型作为参数传给函数体时,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝。所有的函数体内部的操作执行结束后,这个局部变量也就完成了它的使命,它不影响作为参数的变量。
二、引用传递:
java中用对象作为入口参数的传递缺省为“引用传递”,仅仅传递了对象的一个引用。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作。
结论:
1. 基本数据类型传值,对形参的修改不会影响实参;
2. 引用类型传对象,形参和实参指向同一个内存地址,所以对参数的修改会影响到实际的对象;
3. String,Integer,Double等类型特殊处理,可以理解为传值,最后的操作不会修改实参对象。