次のような抽象コンストラクターと派生クラスがあります。
abstract ab {
ab();
}
class dc {
dc();
}
派生クラスのコンストラクタを先に実行し、次に抽象クラスのコンストラクタを実行したい
例を教えてください。
Java では、親クラスのコンストラクターが子のコンストラクターの前に呼び出され 、この呼び出しは子のコンストラクターによってのみ行われます。
答えはノーです。これは不可能です。
私の提案は、継承よりも構成を使用することです。
Class SuperClass {
AbstractClass abstractClass;
public SuperClass() {
doStuff();
abstractClass = new ConcreteClass();
}
}
このリンクは詳細な説明を提供しますhttp://tiedyedfreaks.org/eric/CompositionVsInheritance.html