声明基元/对象时,它们是否已初始化?
哪个是默认值?
类成员和本地字段的行为是什么?
关于班级成员的对象声明怎么样?
如下所述,这些是默认值:
Data Type - Default Value (for fields) byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' String (or any object) null boolean false
请注意,对象初始化为 null
答案 0 :(得分:4)
int
的默认值为0
,这是它在JavaSE和JavaEE中的值,除非它被赋予了另一个值。
您不能在Java(或任何其他原语)中拥有未初始化的int
类成员。
在您的示例中,您显示int
是一个类成员,在另一个示例中它是一个局部变量,这就是差异。
对于class members
,JVM将设置默认值,对于local variables
,它会在您访问变量之前分配和初始值。
您可以查看Primitive Data Types中的Default Values
部分,了解有关班级成员默认值的更多信息。