我的代码有问题,但我不知道为什么。我有两个班级:
public class MyClass extends MySuperClass {
potected int field1;
public MyClass() {
super();
}
@Override
public int getField1() {
return this.field1;
}
public void setField1(int f) {
this.field1 = f;
}
}
public class MySuperClass {
potected int field1, field2;
public MySuperObject() {
}
public int getField1() {
return this.field1;
}
public void setField1(int f) {
this.field1 = f;
}
public void setField2(int f) {
this.field2 = f;
}
public int getField2() {
return this.field2;
}
}
当我创建不同的新 MyClass 对象(即在 ArrayList 中插入)时出现问题:
ArrayList<MyClass> list = new ArrayList<MyClass>();
while(condidion) {
MyClass obj = new MyClass();
obj.setField1(value1);
obj.setField2(value2);
list.add(obj);
}
如果 value1 和 value2 采用后续值
1 和 50
2 和 70
3 和 80
执行我的代码后,我的列表包含
1 和 80
2 和 80
3 和 80
看起来每次我创建新的 MyClass 对象时,只创建一个 MySuperClass 的实例(field2 假设最后一个输入值的值)。我该如何解决?