8
静的初期化コードブロックと非静的初期化コードブロックの違いは何ですか
私の質問は、静的キーワードの特定の使用法についてです。staticキーワードを使用して、どの関数にも属していないクラス内のコードブロックをカバーすることができます。たとえば、次のコードはコンパイルします。 public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } } staticキーワードを削除すると、変数aがであるため文句が表示されfinalます。ただしfinal、staticキーワードとキーワードの両方を削除してコンパイルすることは可能です。 どちらの面でも混乱します。どのメソッドにも属さないコードセクションをどのように持つべきですか?それを呼び出すにはどうすればよいですか?一般的に、この使用法の目的は何ですか?または、これに関するドキュメントはどこにありますか?