[解決済み] クラス内のJavaコンストラクタは、指定された型に適用できません。
2022-02-18 01:40:51
質問
2つのサブクラスがあります。Staff、Student これらはスーパークラスPersonに属しています。
以下は、先生から渡されたコード(タスク)です。
public class Person
{
private String name;
private int yearOfBirth;
/**
* Create a person with given name and age.
*/
Person(String name, int yearOfBirth)
{
this.name = name;
this.yearOfBirth = yearOfBirth;
}
}
class Student extends Person
{
private String SID; // student ID number
/**
* Create a student with no parameters.
*/
Student()
{
//task.
}
}
public class Staff extends Person
{
private String roomNumber;
/**
* Construct a staff member with field values and no pamaeters.
*/
public Staff()
{
//task
}
}
パラメータなしでオブジェクトを作成するために、何を入力すればよいのかわかりません。 PersonクラスのコンストラクタPersonは、与えられた型には適用できません; 必須: java.lang.String,int;
ネットで調べたところ、2つの解決方法があるようです。
-
スーパークラスにデフォルト値を追加する。
Person()//without parameter
.サブクラスのStudentで
Student()
{
Person astudent = new Student() //I guess.
}
- サブクラスにsuper()を追加する。
Student()
{
super("xxx")//I guess.
}
どうしたらいいのかわからない。私はBlueJを学ぶためのスターターです。 誰かが私を助けることができることを願っています。どうもありがとうございました。
どのように解決するのですか?
スーパークラス
Person
はデフォルトのコンストラクタを持たないので、サブクラス (
Student
と
Staff
) の場合、最初のステートメントとして、スーパークラスのコンストラクタを呼び出す必要があります。
サブクラスのコンストラクタはこのように定義する必要があります。
Student() {
super("a_string_value", an_int_value);// You have to pass String and int values to super class
}
Staff() {
super("a_string_value", an_int_value); // You have to pass String and int values to super class
}
関連
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] テスト
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み] ベースクラスのコンストラクタを呼び出す際のルールは?
-
[解決済み] 抽象クラスはコンストラクタを持つことができますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Android java.lang.IllegalStateException: Android java.lang.IllegalStateException: Could not execute method of the activity
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】javaで無効な文字定数