下面的代码中有2个静态块,为什么编译器不认为第一个块中未指定数据类型y是错误i?同时,如果i = 0在初始化时去掉了数据类型,也会出错,如果只在第二个块中指定数据类型,也会出错。
public class Test {
static {
i = 10;
}
static int i = 0;
static {
++i;
}
public static void main(String[] args) {
new Test();
System.out.println(i);
}
}






