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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM