Java エラー: デフォルト コンストラクターに対して暗黙的なスーパー コンストラクターが定義されていません
Q: サブクラスと抽象基本クラスでのデフォルト コンストラクター エラー
Java 開発者がエラーに遭遇しました「暗黙のスーパー コンストラクター BaseClass() はデフォルト コンストラクターとして定義されていません。」サブクラスから冗長なコンストラクターを削除した後。彼らは、テンプレート メソッド パターンに準拠したままコンストラクターを削除できるかどうか疑問に思っています。
A: 構築コンストラクターとデフォルト コンストラクター
エラーが発生するのは、基本クラス ( BaseClass) はコンストラクター (public BaseClass(String someString)) を宣言し、デフォルトのコンストラクター (引数なし) を無効にします。サブクラス (ACSubClass) からコンストラクターを削除すると、コンパイラーは、デフォルトのコンストラクターを介して、基本クラスの引数なしのコンストラクター (super()) への暗黙的な呼び出しを挿入します。 BaseClass には引数のないコンストラクターがないため、これは不正です。
可能な解決策:
ただし、基本クラスにコンストラクターが必要な場合、これらの解決策は実現できない可能性があります
さらに、設計のリファクタリングを検討してください:
以上がJava 暗黙的スーパー コンストラクター エラー: 「暗黙的スーパー コンストラクター... はデフォルト コンストラクターに対して未定義です」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。