Java总是按值传递参数,而不是按引用传递参数。
看下面一个实例:
public class Main {
public static void main(String[] args) {
Foo f = new Foo("f");
changeReference(f); // f没有改变
modifyReference(f); // f的属性被修改
}
public static void changeReference(Foo a) {
Foo b = new Foo("b");
a = b;
}
public static void modifyReference(Foo c) {
c.setAttribute("c");
}
}