class Person {
public String name;
String id;
public Person() {
System.out.println("Parent default");
name = id = "";
}
public Person(String name, String id) {
System.out.println("Parent parameter");
this.name = name;
this.id = id;
}
void show() {
System.out.println(this.name + "\n" + this.id);
}
}
class Student extends Person {
Student() {}
Student(String a, String b) {
super(a, b);
}
}
class Main {
public static void main(String args[]) {
Person p = new Person("A", "AA");
Student s = new Student("b", "BB");
s.show();
}
}
私は非常にJavaに新しいので、いくつかの基本的なことを理解したかったのですが、失敗しました。親クラスから継承すると、これは子クラスの親クラスのコピーを取得することを意味します。つまり、このコードでは、親クラスのshow
メソッド(Mainクラス)を参照すると、前に設定した親クラス 'name
とid
が表示されます。サブクラスのインスタンスからスーパークラスのプロパティにアクセスする
しかし、それは表示されていないので、私は確かに私の理解に問題があります。どのように私は子クラスから親クラスのコピーにアクセスできますか?子のコンストラクタのsuper
メソッドを使用していますか?私はまた、簡単に継承の基礎を知りたい。
あなたが名前 "b" およびID "BB" と 'Student'を作成しました。 'show'の呼び出しはこれらの情報を出力します。あなたは何を期待したのですか? – Seelenvirtuose
私はSuper(a、b)をStudent(String a、String b)コンストラクタから呼び出しました。親クラスの名前とIDをsuperキーワードでどのように出力できますか? – inhaler
とスーパー(a、b)私は親のパラメータ化されたコンストラクタ - r8を呼び出していますか? – inhaler