在Java中,方法的参数传递永远是值传递,不存在引用传递。
实际上,如果一个方法的参数是一个对象,那么当传递这个对象的时候实际上是传递的一个对象的地址过来,而不是传递的一个引用(变量)更不是对象本身,所谓引用变量就是我们 A a = new A(),此a就是一个引用变量,它的值就是一个指向A对象的地址。如果我们把a作为某一个方法的参数传递过去,那么此时传递的仅仅是这个引用a的值(对象的地址),因此,此时传递的既不是引用a本身也不是对象,而是对象的地址。这就是值传递的本质。所谓“值”,就是变量的存储值。