【发布时间】:2012-06-22 23:40:42
【问题描述】:
public class Foo {
public static void main(String[] args) {
float f;
System.out.println(f);
}
}
打印语句导致以下编译时错误,
局部变量 f 可能没有被初始化
如果 Java 中的原语已经有 default value (float = 0.0f),为什么还要定义一个?
编辑:
所以,这行得通
public class Foo {
float f;
public static void main(String[] args) {
System.out.println(new Foo().f);
}
}
谢谢大家!
【问题讨论】:
-
重新编辑:是的,可行,但将本地提升到字段以避免初始化可能不是一个合理的例子:-)
-
@fvu,这是一个例子,所以它有一些用途。 :D