为什么java中的方法创建某些变量的本地实例而不创建其他变量?

时间:2016-03-09 01:08:02

标签: java

我努力为这篇文章提出一个标题,但我很想找到一个简单的解释为什么运行以下程序会产生6,5,5而不是5,5,5的输出:

public class TestMethod {
public static void main(String[] args) {

    IntegerObject aInt = new IntegerObject(5);
    objectIncrease(aInt);
    System.out.println(aInt.x);

    int bInt = 5;
    increase(bInt);
    System.out.println(bInt);

    Integer cInt = new Integer(5);
    increase(cInt);
    System.out.println(cInt);
}

public static void objectIncrease(IntegerObject x){
    x.increment();
}

public static void increase(int x){
    ++x;
}}

IntegerObject只是我为了证明我的观点而创建的另一个类。为什么increase(int x)方法创建int x的本地实例,但objectIncrease(IntegerObject x)方法不创建integerObject x的本地实例?

0 个答案:

没有答案