これはジャバです。1 の代入は、クラスがインスタンス化されたときに最初に実行indexされることを理解していますが、なぜこれが有効なのですか?initialization block
public class arr {
{
index = 1;
}
int index;
void go() {
System.out.println(++index);
}
public static void main(String [] args){
new arr().go();
}
}
出力は 2 です。
symbol not foundコンパイルエラーが発生するはずです。この動作は初期化ブロック固有のものですか? 通常のシナリオでは、のint index;前に来る必要がありますindex = 1;。