阅读 7374 次
发表时间:2011-02-22
static变量在类加载时就被初始化,那么请问static变量有几种初始化的方式。做不来这道题老。
发表时间:2011-02-22
public static int i=100;

static{
  int i=100;
}
发表时间:2011-02-22
静态常量好像是在编译的时候就初始化了。记不清了。可以看看字节码!!
发表时间:2011-02-22
地狱牢笼 写道
静态常量好像是在编译的时候就初始化了。记不清了。可以看看字节码!!

比如
public class Test {
public static final int F_I  = 1;

public static int i = 2;
}


init方法根本没有F_I的初始化代码!
发表时间:2011-02-22
cectsky 写道
public static int i=100;

static{
  int i=100;
}


属性定义的时候.
静态初始化块里.
发表时间:2011-02-22
1 在 static 变量声明时初始化,
2 在 static {} 里初始化,

1先执行,2后执行,

大概就这2种
发表时间:2011-02-22
static的值就这两种初始化方式:

1.使用<clinit>初始化
2.使用ConstantValue初始化

具体截取一个片段给楼主参考一下:


  • 大小: 51.6 KB
发表时间:2011-02-23
IcyFenix 写道
1.使用<cinit>

是<clinit>
发表时间:2011-02-23
RednaxelaFX 写道
IcyFenix 写道
1.使用<cinit>

是<clinit>


囧……赶紧编辑掉毁灭证据……
发表时间:2011-02-23
IcyFenix 写道
RednaxelaFX 写道
IcyFenix 写道
1.使用<cinit>

是<clinit>


囧……赶紧编辑掉毁灭证据……


顺便一问,截图里的Word文档是啥来的?
Global site tag (gtag.js) - Google Analytics