我对在我看来不一致的原因感到有些困惑。
例如
public class Test
{
static int a;
public static void main(String[] args)
{
System.out.println(a);
}
}
所以这将打印出 0,正如预期的那样。但是说我们有这个,
public class Test
{
public static void main(String[] args)
{
int a;
System.out.println(a);
}
}
这不会为我编译,抱怨 a 尚未初始化。我期待它打印出0 ...
这让我想到了一些问题:
1) 为什么函数作用域变量没有默认值?
2)静态关键字可能是原因吗?为什么?