Java - 将对象引用变量传递给另一个函数后未修改的对象值

时间:2015-08-22 12:10:47

标签: java oop

我正在传递整数对象引用

public class Test1 {
    public static void main(String args[]){
        Integer x = new Integer(56);
        Integer y = new Integer(34);
        Test1 test = new Test1();
        test.change(x,y);
        System.out.println("Values inside main() after calling change method");
        System.out.println("x :"+ x +"; y :"+y);
    }
    public void change(Integer x1, Integer y1){

        x1 = 45;
        y1 = 1000;
        System.out.println("Values After Modification inside change method");
        System.out.println("x1 :"+ x1 +"; y1 :"+y1);
    }
}

但x和y的值没有变化? 请帮忙......提前谢谢。这是输出。

Values After Modification inside change method
x1 :45; y1 :1000
Values inside main() after calling change method
x :56; y :34

1 个答案:

答案 0 :(得分:1)

Java总是按值传递。这意味着传递给方法的引用实际上是原始引用的副本

不幸的是,他们决定调用指针引用,从而使新手感到困惑。因为这些引用是按值传递的。