重複の可能性:
静的初期化ブロック
異常な「静的」メソッド宣言
近い将来、OCJPCの準備をしようとしていますが、今まで見たことのない構造に出くわしました。プログラミング構造をグーグルで検索するのは難しいので、ここで質問します。コードフラグメント:
class Geryon {
static { System.out.print("a"); }
{ System.out.print("b"); }
Geryon(String s) { System.out.print(s); }
public static void main(String[] args) {
new Geryon("c");
}
}
theGeryon()
戻り型を期待する場所で、メソッドヘッダー内の2つのprintステートメントを参照しています。私がグーグルできた限り、静的メソッドヘッダーは以下で構成されています:
access-modifier keyword-"static" return-type|void method-name
クイズの質問への回答から判断すると、コードはコンパイルされるだけでなく、実行されます。誰かがこれが説明されている情報源に私を導くことができますか?