JVM将为类的instance和static变量赋上缺省值(默认值)

时间:2023-01-06 11:50:13
 

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