トップ 一覧 ping 検索 ヘルプ RSS ログイン

SJC-P コンストラクタの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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"}}