/**
* Created by xfyou on 2016/11/2.
* Java继承的初始化
*/
public class Beetle extends Insect {
int k = prt("Beetle.k initialized"); public Beetle() {
prt("k = " + k);
prt("j = " + j);
} static int x2 = prt("static Beetle.x2 initialized"); static int prt(String s) {
System.out.println(s);
return 63;
} public static void main(String[] args) {
prt("Beetle constructor");
Beetle b = new Beetle();
}
} class Insect {
int i = 9;
int j; public Insect() {
prt("i = " + i + ", j = " + j);
j = 39;
} static int x1 = prt("static Insect.x1 initialized"); static int prt(String s) {
System.out.println(s);
return 47;
}
}

执行结果如下:

static Insect.x1 initialized

static Beetle.x2 initialized

Beetle constructor

i = 9, j = 0

Beetle.k initialized

k = 63

j = 39

执行顺序总结:

1、父类静态字段

2、父类静态初始化块

3、子类静态字段

4、子类静态初始化块

5、父类实例字段

6、父类实例初始化块

7、父类构造器

8、子类实例字段

9、子类实例初始化块

10、子类构造器

没有继承的单个类的初始化顺序为:

  • 静态字段
  • 静态初始化块
  • 实例字段
  • 实例初始化块
  • 构造器

最新文章

  1. JSTL标签 参考手册
  2. Linux和windows之间通过scp复制文件
  3. iOS开发---集成百度地图完善版
  4. html 空格-有趣的试验
  5. Android入门:绑定本地服务
  6. solr 相似查询-MoreLikeThis
  7. HTML\Script 去除关键字
  8. UVA 1374 Power Calculus
  9. javascript编程代码笔记
  10. PHPMailer < 5.2.18 远程代码执行漏洞(CVE-2016-10033)
  11. C# 视频多人脸识别
  12. 【转】IntelliJ IDEA中文乱码问题
  13. 原生JS实现表单序列化serialize()
  14. Centos7.4 防火墙配置
  15. Git服务器配置和基本使用
  16. java实现四则运算应用(基于控制台)
  17. Python生态工具、文本处理和系统管理(虚拟)
  18. C++笔记(2018/2/7)
  19. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
  20. Quartz_2_简单编程式任务调度使用(CronTrigger)

热门文章

  1. [Node.js]DNS模块
  2. [Mysql]MySQL 服务无法启动。
  3. 在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为(外文翻译)
  4. MVC使用Gantt Chart实现甘特图,管理事情进度
  5. 如何下载android源码与android内核源码
  6. pytest文档27-pytest分布式执行(pytest-xdist)
  7. UIScrollView视差模糊效果
  8. Dwz手册的补充说明和常见问题
  9. git打pach包
  10. 0, \0, NULL