!!!SJC-P コンストラクタ package constructor; public class ConstructorTest1 { public static void main(String[] args) { ConstructorTest1 me = new ConstructorTest1(); me.testConstructor(); } public void testConstructor() { System.out.println("### Deriv()"); Deriv d1 = new Deriv(); System.out.println("### Deriv(String)"); Deriv d2 = new Deriv("deriv"); } } class Base { static { System.out.println("Base static initializer"); } { System.out.println("Base initializer"); } protected String name; public Base() { System.out.println("Base()"); } public Base(String name) { System.out.println("Base(String name)"); this.name = name; } } class Deriv extends Base { static { System.out.println("Deriv static initializer"); } { System.out.println("Deriv initializer"); } public Deriv() { // 明示的に他のコンストラクタを呼び出す(this())場合、super()は呼ばれない this("default Deriv"); System.out.println("Deriv()"); } public Deriv(String name) { // 暗黙的に super() コンストラクタが呼び出される System.out.println("Deriv(String name)"); this.name = name; } } ---- {{include_html banner_html, "!SJC-P"}}