在java中是值传递还是引用传递,有什么区别?
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"); } }