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 Person
package super_constructor;

public class Employee extends Person {

}
App
package 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()とは?
子クラスが独自に作成されると、親クラスの作成者が初期化されます.
(デフォルトでは、サブクラスの作成者に追加されます)