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_语法基础_成员变量的默认值

如果我们不做任何初始化工作,变量具有什么默认值,或者是否具有默认值? 其实,成员变量在创建时,系统会为其分配一个默认值。不同类型的变量,默认值也不相同。 例:package deep;public...
  • u012552052
  • u012552052
  • 2015年04月27日 23:02
  • 3614

Java_基础_静态变量一定要先声明后赋值

这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下:package deep; publi...
  • u012552052
  • u012552052
  • 2015年04月10日 09:12
  • 2778

Java静态变量的初始化(static块的本质)

本文转载自: http://blog.csdn.net/darxin/article/details/5293427 在网上看到了下面的一段代码: [java]...
  • lihongye_10
  • lihongye_10
  • 2013年11月20日 15:05
  • 11884

一行命令获取当前JVM所有可设置的参数以及当前默认值

一行命令获取当前JVM所有可设置的参数以及当前默认值 java -XX:+PrintFlagsInitial  >>1.txt 然后查看这个1.txt即可 [plain] view p...
  • xiaomin1991222
  • xiaomin1991222
  • 2016年03月10日 16:05
  • 102

打印所有的jVM参数及其默认值

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

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
  • 1064

win环境下mysql 5.7.15 x64变量默认值

my.ini为默认值,如下: [mysqld] # Remove leading # and set to the amount of RAM for the most important dat...
  • lwprain
  • lwprain
  • 2016年09月23日 16:08
  • 586

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

​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数...
  • u014621518
  • u014621518
  • 2015年04月10日 15:11
  • 1033

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

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

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

转自:http://panjunlai.blog.163.com/blog/static/5819030120104207757620/ 创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量...
  • xwdpepsi
  • xwdpepsi
  • 2012年02月17日 11:22
  • 486
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM将为类的instance和static变量赋上缺省值(默认值)
举报原因:
原因补充:

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