有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

静态Java布尔初始化

为什么这段代码运行正常

static boolean bool;

    public static void main() {
        System.out.println(bool);
    }

在这里

public static void main() {
        boolean bool;
        System.out.println(bool);
    }

错误:我可能没有被初始化

它们不是都有默认值false


共 (1) 个答案

  1. # 1 楼答案

    这正是Java的工作原理。原语类型的所有“静态”和“实例”类成员都由编译器初始化。特别是,boolean总是初始化为false(这是您的第一段代码)
    相反,局部变量(第二段代码)“必须”手动初始化,否则会出现编译错误