class p
{
static
{
system.out.println("hello world");
}
static void x()
{
system.out.println("x()メソッド");
}
}
mainメソッドからp.x()として
静的メソッドx()を呼び出しただけなのに、何故かhello worldまで出力されます。
これは実行環境が壊れているのでしょうか?pクラスを作ったわけではありません。
それなのに何故初期化子が実行されるのでしょうか?
pクラスの main メソッドを実行するということは、java大好き さんが書きました:クラスを作ったわけではありません。
それなのに何故初期化子が実行されるのでしょうか?
クラスp には、クラス変数はありませんよ。java大好き さんが書きました:良く分かりませんが、クラス変数にアクセスしたらクラスが初期化されるってことですか?