Java的参数传递是「按值传递」还是「按引用传递」
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是「按值传递」还是「按引用传递」?
答:是按值传递。Java 语言的参数传递只有「按值传递」。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调用的方法内改变,但对象的引用(不是引用的副本) 是永远不会改变的。
Java的参数传递,不管是基本数据类型还是引用类型的参数,都是按值传递,没有按引用传递!按值传递的精髓是:传递的是存储单元中的内容,而不是存储单元的引用!