基本成员默认值
若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。如下表所示:
基本类型            默认值
boolean             false
char                   ‘\u0000’ (null)
byte                   (byte)0
short                  (short)0
int                       0
long                   0L
float                    0.0f
double                0.0d

千万要小心:当变量作为一个类的成员使用时,Java才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化(C++没有此功能),防止产生程序错误。但是,这些初始值对你的程序来说,可能是不正确的,甚至是不合法的。所以最好明确地对变量进行初始化。
然而上述确保初始化的方法并不适用于“局部”变量(即并非是某个类的属性)。因此,如果在某个方法中有这样定义:
int x;
那么变量x得到的可能是任意值(与C 和C++中一样),而不会被自动初始化为零。所以在使用x前,应先对其赋一个适当的值。如果你忘记了这么做,Java会在编译时返回给你一个错误,告诉你此变量没有初始化,这正是Java优于C++的地方。(许多C++编译器会对未初始化变量给予警告,而Java则视为是错误)。