我有一个类 A,它扩展了一个 B 类并覆盖了在父构造函数中调用的方法createBody() :
public class A extends B {
SomeClass x = null
public A(int parameter) {
super(parameter);
//do something with atributte x
}
createBody() {
//do some stuff
//assign attribute x
}
}
public class B {
public B(int parameter) {
//do some stuff
createBody();
}
abstract public void createBody();
}
如您所见,方法createBody()修改了x属性。我的问题是,一旦超类构造函数完成(当我创建子类的实例时) , x属性仍然为空。我究竟做错了什么?