【发布时间】:2013-09-03 22:21:21
【问题描述】:
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变量。
是否有任何限制禁止编译器这样做?
【问题讨论】:
-
以后,当您提出问题时,请适当地格式化您的代码 - 请参阅 tinyurl.com/so-list。如果您使用传统名称(与
returntest不同),即使是虚拟代码也会有所帮助 - 那样会分散注意力。