我有延伸的B級和覆蓋了一個方法createBody()這被稱爲在父構造A類:如何在超類構造函數中使用子類的屬性?
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屬性仍然是null超類構造函數完成後(當我創建子類的實例時)。我究竟做錯了什麼?
除非B聲明方法'createBody()'爲具體或抽象方法,否則不會編譯。請顯示_actual_代碼。 –
我會的,謝謝。 –
爲什麼這個方法在子類而不是父類中? –