Java中向方法传递的参数是引用还是值?
忘了在哪看到那个问题,引起了我的疑问,我在CSDN发了一个帖。
我把代码帖上来,各位不妨先不看下面的解释,看看输出结果是什么
class Test { private int t; Test(int t) { this.t = t; } static void changeRef(Test test) { test = new Test(1); } public static void main(String[] args) { Test test = new Test(2); changeRef(test); System.out.println(test.t); } }
怎么样?结果对了吗?最后输出的结果是2.
下面我来解释一下(注,之前画错了,现在更改。本人认为正确,有异议请提出)
上面的结果可以看出,java方法参数的传递是值传递