イニシャライザ

Javaにはインスタンスイニシャライザ(Instance Initializer)という機能がある。

public class Hoge {
  {
    System.out.println("initializer");
  }
  Hoge() {
    System.out.println("constructor"); 
  }
  public static void main(String[] a) {
    new Hoge();
  }
}

これを実行すると

initializer
constructor

と表示される。イニシャライザブロックはコンストラクタより先に実行される。

匿名クラスと組み合わせると美味しい

Map<String, String> m = new HashMap<String, String>() {{
    put("a", "あ");put("b", "い");put("c", "う");
}};
 
java/initializer.txt · 最終更新: 2009/07/15 18:25 (外部編集)
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki