次のコードを検討してください。
class New {
id = 2;
int id = 7;
}
宣言されていない変数を初期化しようとすると、明らかにコンパイルされません。
ただし、ステートメントを初期化ブロックに入れると、正常にコンパイルされます。
class New {
{ id = 2; }
int id = 7;
}
この宣言前の初期化を有効にする初期化ブロックのこの「機能」は何ですか?
質問をする前に、SO の初期化ブロックに関するいくつかの投稿を読みましたが、それらは主に初期化の順序に関する問題 (静的と非静的など) に対処しているようです。