meifage2211 2011-08-25 21:02
浏览 170
已采纳

子类主动使用却没有被初始化

class NewParent {

static int hoursOfSleep = (int) (Math.random() * 3.0);

static {
System.out.println("NewParent was initialized.");
}
}
class NewbornBaby extends NewParent {

static int hoursOfCrying = 6 + (int) (Math.random() * 2.0);

static {
System.out.println("NewbornBaby was initialized.");
}
}
class Example2 {

public static void main(String[] args) {
int hours = NewbornBaby.hoursOfSleep;
System.out.println(hours);
static {
System.out.println("Example2 was initialized.");
}
}

NewbornBaby调用从NewParent继承来的hoursOfSleep,说明NewbornBaby类已经主动使用,
但是为什么NewbornBaby类没有被初始化

  • 写回答

7条回答 默认 最新

  • freishlove 2011-08-25 21:13
    关注

    请把《深入java虚拟机》第二版翻到162页:代码上面的那段,有这样说:使用一个非常量的静态字段只有[color=red]当类或者接口的却声明了这个字段[/color]时才是主动使用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿