少し前なんですが、Javaでstaticブロック(static initializer)で変数を初期化している処理があったんですが、なんと、複数個所にstatic{}があるじゃないですか!コード例はこんな感じ。
static class StaticInitClass {
static {
System.out.println("StaticInitClass{}1");
}
static {
System.out.println("StaticInitClass{}2");
}
StaticInitClass() {
System.out.println("StaticInitClass()");
}
}
static {
System.out.println("StaticInitClass{}1");
}
static {
System.out.println("StaticInitClass{}2");
}
StaticInitClass() {
System.out.println("StaticInitClass()");
}
}
■出力結果
StaticInitClass{}1
StaticInitClass{}2
StaticInitClass()
StaticInitClass{}2
StaticInitClass()
こんなコードが書けるとは。。。固定観念でした。
0 件のコメント:
コメントを投稿