值传递

【Java基础】值传递与引用传递的区别?

不想你离开。 提交于 2020-02-28 17:14:50
值传递 值传递, 是指 方法调用时,传递的参数是按值的拷贝传递 。 如: public class ValueTest { public void test(int x){ System.out.println("值传递,x:"+x); } public static void main(String[] args) { int x = 1; new ValueTest().test(x); } } 引用传递 引用传递,是指 方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。 如: public class ReferenceTest { public void test(Rf rf) { System.out.println("引用传递,rf:" + rf); } public static void main(String[] args) { Rf rf = new Rf(1, "张三"); new ReferenceTest().test(rf); } } class Rf { private int id; private String name; public Rf() { } public Rf(int id, String name) { super(); this.id = id; this.name = name; }