Java エラー: デフォルト コンストラクターの暗黙的なスーパー コンストラクターが定義されていません
コードの冗長性を削減しようとして、削除中にエラーが発生しました抽象クラスを拡張するサブクラスからのコンストラクター。このエラーは、クラスに明示的に定義されたコンストラクターがない場合に Java コンパイラーによって生成される暗黙のデフォルト コンストラクターに起因します。
デフォルト コンストラクターには引数がなく、public ACSubClass() { super(); と同等です。 }。ただし、BaseClass はコンストラクターを宣言しているため、このデフォルトのコンストラクターは使用できず、コンパイル時エラーが発生します。
エラーの理由:
根本原因この問題は Java の継承セマンティクスにあります。サブクラスは、親クラスのコンストラクターを自動的に継承しません。サブクラスがコンストラクターを定義していない場合、その親クラスからデフォルトのコンストラクターを暗黙的に継承します。
解決策:
このエラーを解決するには、主に 2 つのオプションがあります。 :
重要なポイント:
Java のコンストラクター継承ルールは、サブクラスが作成できないように設計されています。親クラスの無効なインスタンス。基本クラスとサブクラスの両方のコンストラクター要件を慎重に検討することで、欠落または不適切なコンストラクトに関連する実行時エラーを回避できます。
以上がサブクラス コンストラクターを削除すると、Java で「暗黙のスーパー コンストラクターが未定義」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。