Java参数传递
Java参数传递有两种说法,一种是值传递,另一种是引用传递
- 值传递:本质就是传递参数得时候,复制一份原值,也就是传递得副本
- 引用传递:本质就是传递得参数是引用原值不是副本。
java只有值传递,没有引用传递。
这就的说原理了,因为不管是基本类型还是引用类型都是传递得拷贝之后得值。所以都是值传递。
那为什么好像引用对象是引用传递,那就是在函数内部可以通过形式参数,修改原值,好像就是引用传递一样,其实造成这样得原因是:形式参数和原值引用都指向原来得值,所以修改副本也是会影响原值得。
如果想要不修改原值,可以在函数内部,对传递进来得副本引用对象,重新创建一个对象,这样就不会修改原值了。