私は、自動的にすべての子クラスによって継承されます引数を持つコンストラクタを持つようにしたいが、Javaは私がやらないだろう、こののJava:継承コンストラクタ
class A {
public A(int x) {
// Shared code here
}
}
class B extends A {
// Implicit (int x) constructor from A
}
class C extends A {
// Implicit (int x) constructor from A
}
私が持っている必要はありません子クラスごとにB(int x)
,C(int x)
などを書きます。この問題に近づくよりスマートな方法がありますか?
ソリューション#1。コンストラクタの後に呼び出すことができるinit()
メソッドを作成します。これは機能しますが、私の特別な設計では、コンパイル時に検証される特定のパラメータをコンストラクタで指定する必要があります(varargs/reflectionを使用しないなど)。
どのようなバマーなのですか。 – machete
何回何回このことを思い出されても、それはまだ怒っています。包括的なベースクラスを作るためにこのすべての努力を払うと、あまりにも多くの定型文を上書きしなければならないので、子どもたちは50ライナーになります。 –