为什么Java只有值传递

  • 一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)。
  • 一个方法可以改变一个对象参数的状态。
  • 一个方法不能让对象参数引用一个新的对象。 (参数引用地址改变了,相当于指向了其他对象、再进行修改操作都不会堆原对象产生影响)

总的来说:
方法得到的是所有参数值的一个拷贝,也就是说,方法不能修改传递给它的任何参数变量的内容。
注意:
对象引用是按值传递的。方法得到的是对象引用(变量地址)的拷贝,对象引用及其他的拷贝同时引用同一个对象。

原文地址:https://www.cnblogs.com/jklixin/p/13455784.html