小编mhs*_*edi的帖子

java - 通过引用模糊调用

我熟悉java中的引用概念,但看到这段代码后我很困惑

public class App 
{
    public static void main( String[] args )
    {
        Test t1 = new Test(1);
        Test t2 = new Test(8);
        App.doSomething(t1, t2);
        System.out.print(t1.a);
        System.out.print(t2.a);
    }
    public static void doSomething(Test t1, Test t2){
        System.out.print(t1.a++);
        System.out.print(t2.a++);
        t1 = new Test(999);
        t2 = new Test(888);
    }
}
Run Code Online (Sandbox Code Playgroud)

打印:

1
8
2
9
Run Code Online (Sandbox Code Playgroud)

为什么主函数中"t1.a"和"t1.b"的值不变为888和999?

java pass-by-reference

1
推荐指数
1
解决办法
114
查看次数

标签 统计

java ×1

pass-by-reference ×1