为什么这里的输出还是0不是2呢

img

set里不要new一个A,你创建了两个A等地址,set里写i=ii

因为你set里面是个新的对象,就没给原对象赋值

//这个仅仅只是修改了setI里的一个变量A,并没有修改它所在A里的i或者ii
 void setI(int ii){
...
}

因为你在setI()这个方法中新建对象了,将值是赋在了新对象中,而不是在main方法中建的对象,所以你怎么打印都是0。