JVM将为类的instance和static变量赋上缺省值(默认值),包括数组array中的每一个元素--而不用再写初始化赋值语句。 切记:局部变量是没有缺省值的,必须手动初始化! 这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动了一遍。 如下面的代码说明了怎样画蛇添足的: 情况一: public class Foo { private int count=0; //多余 private static boolean dd=false; //多余 public Foo() { super(); } } 情况二: public class Foo { private int count; private static boolean dd; public Foo() { super(); count=0; //多余 dd=false; //多余 } } 变量或对象引用的缺省值如下: int : 0 byte : 0 long : 0 shor : 0 float : 0.0 double : 0.0 boolean : false char : '\u0000' object reference : null 
|