在Coding时突然想起了声明与初始化的内存分配的一些问题,有些地方已经模糊了:查阅了一点资料;
关于基本类型的初始化问题,根据Thinking in Java中所表示:
类的成员变量是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值
基本类型 |
默认值 |
boolean | false |
char | ‘\0000‘(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0l |
double | 0.0d |
float | 0.0f |
当变量做类的成员使用时,才会确保其获得默认值;
而此确保不适用于“局部”变量;
若某个方法中有:int X;
则变量得到可能是任意值,而不会自动初始化;