职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 567|回复: 12

一道题小弟搞不清楚了。

  [复制链接]
秋秋 发表于 2011-9-7 09:58 | 显示全部楼层 |阅读模式
static变量在类加载时就被初始化,那么请问static变量有几种初始化的方式。做不来这道题老。

走失的猫咪 发表于 2011-9-7 09:58 | 显示全部楼层
public static int i=100;

static{
  int i=100;
}

醉倚西风 发表于 2011-9-7 09:58 | 显示全部楼层
静态常量好像是在编译的时候就初始化了。记不清了。可以看看字节码!!

郁闷小男人 发表于 2011-9-7 09:59 | 显示全部楼层
地狱牢笼 写道
静态常量好像是在编译的时候就初始化了。记不清了。可以看看字节码!!

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

public static int i = 2;
}


init方法根本没有F_I的初始化代码!

hxy 发表于 2011-9-7 09:59 | 显示全部楼层
cectsky 写道
public static int i=100;

static{
  int i=100;
}


属性定义的时候.
静态初始化块里.

天上智喜 发表于 2011-9-7 09:59 | 显示全部楼层
1 在 static 变量声明时初始化,
2 在 static {} 里初始化,

1先执行,2后执行,

大概就这2种

能文能武 发表于 2011-9-7 09:59 | 显示全部楼层
static的值就这两种初始化方式:

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

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




大小: 51.6 KB
查看图片附件


Jethro 发表于 2011-9-7 09:59 | 显示全部楼层
IcyFenix 写道
1.使用<cinit>

是<clinit>

叫我小乖 发表于 2011-9-7 09:59 | 显示全部楼层
RednaxelaFX 写道
IcyFenix 写道
1.使用<cinit>

是<clinit>


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

北大青鸟 发表于 2011-9-7 09:59 | 显示全部楼层
IcyFenix 写道
RednaxelaFX 写道
IcyFenix 写道
1.使用<cinit>

是<clinit>


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


顺便一问,截图里的Word文档是啥来的?
只学java 发表于 2011-9-8 17:02 | 显示全部楼层
激动了就不好办了..
爱车车 发表于 2011-9-10 14:40 | 显示全部楼层
虽然google 很少有人用
找不到我 发表于 2011-9-12 18:31 | 显示全部楼层
支持你一下下。。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-7 10:26 , Processed in 0.142126 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表