Java 中有默认值就不用初始化变量了吗?【记录】

今天被问到Java中boolean的默认值是啥?脑子里浮现的是false,但是不知道大家有没有注意到,其实虽然基本类型有默认值但是,如果不初始化直接使用或输出是编译不通过的,直接上代码:

直接编译错误,提示没有初始化不能使用:原因是没有初始化变量a。

在这里插入图片描述
因为JVM在进行类加载时是不会给局部变量赋值的,只会给静态(static)成员变量赋值,所以在类加载完成时,局部变量是没有初始值的,我们必须认为的为他初始化。
在这里插入图片描述
编译成功,输出默认值:false

猜你喜欢

转载自blog.csdn.net/weixin_44296929/article/details/108539316