这是Java。我知道 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;。