【发布时间】:2013-09-27 01:06:46
【问题描述】:
我对在我看来不一致的原因感到有些困惑。
例如
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)静态关键字可能是原因吗?为什么?
【问题讨论】:
-
在 Java 中只有类变量有默认值。
Static与此无关。
标签: java