静态Java布尔初始化
为什么这段代码运行正常
static boolean bool;
public static void main() {
System.out.println(bool);
}
在这里
public static void main() {
boolean bool;
System.out.println(bool);
}
错误:我可能没有被初始化
它们不是都有默认值false
# 1 楼答案
这正是Java的工作原理。原语类型的所有“静态”和“实例”类成员都由编译器初始化。特别是,
boolean
总是初始化为false
(这是您的第一段代码)相反,局部变量(第二段代码)“必须”手动初始化,否则会出现编译错误