1. ホーム

[解決済み】Javaのスタティックブロック【重複あり

2022-03-25 03:49:48

質問

先日、あるコードに目を通していたら、出てきたんです。

static {
    ...
}

C++から来た私には、なぜそれがあるのか全く分かりませんでした。コードはうまくコンパイルできたので、エラーではありません。この"static"コードのブロックは何ですか?

どのように解決するのですか?

それは 静的イニシャライザー . クラスがロードされるときに実行されます(正確には初期化されますが、通常はその違いに気づきません)。

と考えることができます。 クラス・コンストラクタ"。 .

もあることに注意してください。 インスタンス初期化子 がないことを除けば、同じように見える。 static キーワードを使用します。これらは に加えて は、オブジェクトの新しいインスタンスが作成されるときに、コンストラクタのコードです。