Java尽力保证:所有变量在使用前都能得到恰当的初始化。
基本数据类型初始化
- 当作为类的成员时,即使没有初始化,依旧会获得一个默认值,编译器不会报错。
基本类型 | 默认值 |
---|---|
boolean | false |
char | ‘\u0000’(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
- 当作为局部变量(即非某个类的字段)时,基本数据类型变量可能是任意值而不会被初始化为零。如果不给局部变量赋值,则编译器报错。
- 以上两种情况,java会自动给基本数据类型赋值。
数组初始化
- 在没有给数组赋值的情况下,java确保数组会被初始化。
- 当创建引用数组时,每一个引用都会被初始化为null。
- 当创建基本数据类型数组时,数组所占内存全部置零。
对象初始化
- 对象默认初始化为null,必须要手动初始化。