20210804)作成者-スーパー()作成者
1465 ワード
Person
package super_constructor;
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person [name=" + name + "]";
}
}
employee extends Personpackage super_constructor;
public class Employee extends Person {
}
Apppackage super_constructor;
public class App {
public static void main(String[] args) {
Employee emp1 = new Employee();
System.out.println(emp1);
}
}
アプリケーションの実行実行順序new Employee()実行時
親Personジェネレータ=>子Employeeジェネレータ
Personジェネレータにパラメータnameを追加したら?
public Person(String name) {
this.name = name;
System.out.println("person 생성자");
}
Employee作成者エラーPersonジェネレータを読み込めないため
public Employee() {
super("익명"); // 생략. 상위 클래스 Person의 생성자
System.out.println("employee 생성자");
}
このときsuperは親Personのジェネレータを呼び出すこれは何ですか.
現在のクラスのインスタンスを示します.
つまり、現在のクラスのメンバー変数を指定します.
これは何ですか.
現在のクラスで定義されているジェネレータを呼び出すには
スーパーなんて.
子から継承された親を参照するメンバー変数
super()とは?
子クラスが独自に作成されると、親クラスの作成者が初期化されます.
(デフォルトでは、サブクラスの作成者に追加されます)
Reference
この問題について(20210804)作成者-スーパー()作成者), 我々は、より多くの情報をここで見つけました https://velog.io/@galduck/20210804-생성자-super-생성자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol