这是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;
。