有些人说对象是“按引用”传递的,这是不正确的。在编程语言设计中,术语“引用传递”(pass by reference)真正的含义是引元传递给函数时,被调用的函数获得的是对原值的引用,而非原值的副本。如果函数修改了其参数,那么调用代码中的值也将发生改变,这是因为引元和参数使用了内存中的同一块地址。……java语言并不按引用来传递对象,而是值传递对象。因为同一个引用的两份副本指向的都是同一个实际对象,所以通过一个引用变量所做的修改可以被另一个引用观察到。准确地讲,java只有一种参数传递方式,即值传递,这么做有助于保持简单。———————《The Java Programming Language》(Fourth Edition) Author : Ken Arnold , James Gosling , David Holmes