ユーザ用ツール

サイト用ツール


java:initializer

イニシャライザ

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 09:25 by 127.0.0.1