[解決済み】暗黙のスーパーコンストラクタPerson()が未定義である。明示的に別のコンストラクタを呼び出す必要がある?
2021-12-30 12:58:14
質問
Personクラスとstudentクラスがあり、Personクラスを実装し、インストラクター変数を与えようとしたところ、以下のようなコードになりました。
public class Person {
public Person(String name, double DOB){
}
}
public class Student extends Person {
public Student(String Instructor) {
}
}
実行すると、エラーが発生します。
implicit super constructor Person() is undefined. Must explicitly invoke another constructor
解決方法は?
<ブロッククオートコンストラクタが明示的にスーパークラスのコンストラクタを呼び出さない場合、Java コンパイラは自動的にスーパークラスの無引数型コンストラクタへの呼び出しを挿入します。
スーパークラスに引数なしのコンストラクタがない場合、コンパイル時エラーが発生します。Object にはそのようなコンストラクタがあるので、Object が唯一のスーパークラスであれば、問題はありません。
参考にしてください。 http://docs.oracle.com/javase/tutorial/java/IandI/super.html : (サブクラスコンストラクタ」セクション参照)
従って、パラメータ化されたコンストラクタを扱う場合は、常に
super(parameter1, parameter2 ..)
は親コンストラクタを呼び出します。
また、このsuper()の呼び出しは、コンストラクタ・ブロックの最初の行にする必要があります。
関連
-
スクリプトとは何かを簡単に説明します。
-
[解決済み】R: predict() で数値 'envir' 引数が長さ1でない。)
-
[解決済み】GAEで完全に有効なXMLをパースすると「Prologではコンテンツが許可されません」と表示される
-
[解決済み] メインループの 'builtin_function_or_method' オブジェクトが反復可能でない
-
[解決済み】ポインタと整数の比較を警告する
-
[解決済み] C++で、あるコンストラクタを別のコンストラクタから呼び出す(コンストラクタ・チェイニングを行う)ことは可能ですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] あるコンストラクタを別のコンストラクタから呼び出す
-
[解決済み] ベースクラスのコンストラクタを呼び出す際のルールは?
-
[解決済み] Pythonでスーパーコンストラクタを呼び出すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
linux シェル学習ノート 5日目
-
期限切れのアカウントを自動的に禁止するRouterOSスクリプト
-
複数のサイトをまとめてよく見たい オススメ度
-
InstallShield でホスト名から IP アドレスを取得するコード
-
linux シェル学習ノート 2日目
-
[解決済み] file(file, "rt") のエラー : complete.cases プログラム内の無効な 'description' 引数
-
[解決済み】なぜ「Pickle - EOFError.」が発生するのでしょうか?空のファイルを読むと「Ran out of input」と表示されるのはなぜですか?
-
[解決済み】変数が初期化されていないかもしれないエラー
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】mysqli_fetch_array() は、パラメータ 1 が mysqli_result であることを期待し、boolean は【重複】で与えられました。