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方法参数的传递是值传递

posted @ 2013-03-19 11:09  BaronZ  阅读(1741)  评论(16编辑  收藏  举报