我想知道这个为啥结果是010




```class Counter {
    int i = 0;
}
public class MyTest {
    public void plus(int i) {
        i++;
    }
    public void plus(Counter c) {
        c.i++;
    }
    public void create(Counter c) {
        c = new Counter();
        c.i++;
    }
    public static void main(String[] args) {
        int i = 0;
        MyTest r = new MyTest();
        Counter c1 = new Counter(), c2 = new Counter();
        r.plus(i);
        System.out.print(i);
        r.plus(c1);
        System.out.print(c1.i);
        r.create(c2);
        System.out.print(c2.i);
    }
}

```

i是0有疑问吗,i传递进函数里面的只是它的值,修改形参不影响实参
c1.i是1,因为执行了plus,++了
c2.i执行的是create,在里面重新new了一个实例,然后新实例的i++,跟c2没关系

提一个点,去了解一下你就明白了:值传递、引用传递。这个问题老生常谈。