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

原创 2006年06月11日 19:58:00
 

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

相关文章推荐

java变量默认值

Java 语言要求变量遵循先定义,再初始化,然后使用的规则。变量的初始化是自从变量定义以后,首次给它赋初值的过程。 一、成员变量 JVM将为类的instance和static变量赋上缺省值(默认值...

​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数...

全局变量和局部变量初始化及默认值探究

class Person { private String lastName; private String familyName; public String getLastName(...
  • koushr
  • koushr
  • 2016年03月11日 18:15
  • 1745

C#不同类型的成员变量(字段)的默认值

创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值。 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显...
  • md521
  • md521
  • 2011年11月10日 14:49
  • 1778

win环境下mysql 8.0.0 x64 dmr变量默认值

my.ini的设置如下: # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/8....
  • lwprain
  • lwprain
  • 2016年09月23日 16:16
  • 947

打印所有的Oracle HotSpot JVM参数及其默认值(HotSpot JVM Options/Flags)

Java程序员有时候需要了解JVM相关的参数,不管是出于好奇或者工作需要。Oracle的文档中列出了一些,(点击这里),单并不是全部,而且有些参数的设置会默认启用或者关闭其他一些参数,而在某些情况下设...

使用JQuery对checkbox及radio与select下拉单选赋默认值

使用JQuery对checkbox及radio与select下拉单选赋默认值JQuery对select的选取 测试 ...

如何修改类的成员属性的默认值

这是一道黑马入学测试题: 存在一个JavaBean,它包含以下几种可能的属性: 1:boolean/Boolean 2:int/Integer 3:String 4:double/Do...

Static 变量存储在JVM中的位置[转]

方法区  在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。  jvm实现的设计者决定了类型...

DataTable 行列转换 将原来的行表转化成交叉表,无对应值赋默认值,用于统计显示或报表

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM将为类的instance和static变量赋上缺省值(默认值)
举报原因:
原因补充:

(最多只允许输入30个字)