class returntest
{
public static void main(String...args)
{
int a;
System.out.println(a); //Line 1
int b[] = new int[10];
System.out.println(b[1]); //Line 2
}
}
我在第1行得到一个编译错误(显然),该错误指出变量可能未被初始化。
我知道所有int数组元素默认都会被初始化为0(因此第2行可以成功编译),但我的问题是为什么编译器不能对常规(非数组)int变量应用相同的逻辑(设置为0)。
是否有任何限制阻止编译器这样做?