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)应用于常规(非数组)int 变量。
是否有任何限制禁止编译器这样做?