set里不要new一个A,你创建了两个A等地址,set里写i=ii
因为你set里面是个新的对象,就没给原对象赋值
//这个仅仅只是修改了setI里的一个变量A,并没有修改它所在A里的i或者ii void setI(int ii){ ... }
因为你在setI()这个方法中新建对象了,将值是赋在了新对象中,而不是在main方法中建的对象,所以你怎么打印都是0。