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