| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「SJC-P コンストラクタ」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
(ページの作成:「==SJC-P コンストラクタ== package constructor; public class ConstructorTest1 { public static void main(String[] args) { ConstructorTest1 m…」)
(相違点なし)

2020年2月15日 (土) 07:35時点における版

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"