一尘不染

在java中是值传递,还是引用传递?

java

在java中是值传递还是引用传递,有什么区别?


阅读 712

收藏
2020-01-07

共1个答案

一尘不染

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");
     }

}
2020-01-08