public class Test { static{ System.out.println("static"); } { System.out.println("init"); } public Test(){ System.out.println("constructor"); } /** * @param args */ public static void main(String[] args) { System.out.println("== Start =="); Test test = new Test(); Test test2 = new Test(); System.out.println("== end =="); } }
結果
static == Start == init constructor init constructor == end ==
class 直下の static{} がclass ロ−ド時に呼ばれるのは知ってたけど
class 直下の {} は知らなかった。
っていうか staticイニシャライザ以外のイニシャライザって
他にもあるのかな?