Java类(继承)初始化顺序
2024-08-28 23:53:37
/**
* 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、子类构造器
没有继承的单个类的初始化顺序为:
- 静态字段
- 静态初始化块
- 实例字段
- 实例初始化块
- 构造器
最新文章
- JSTL标签 参考手册
- Linux和windows之间通过scp复制文件
- iOS开发---集成百度地图完善版
- html 空格-有趣的试验
- Android入门:绑定本地服务
- solr 相似查询-MoreLikeThis
- HTML\Script 去除关键字
- UVA 1374 Power Calculus
- javascript编程代码笔记
- PHPMailer <; 5.2.18 远程代码执行漏洞(CVE-2016-10033)
- C# 视频多人脸识别
- 【转】IntelliJ IDEA中文乱码问题
- 原生JS实现表单序列化serialize()
- Centos7.4 防火墙配置
- Git服务器配置和基本使用
- java实现四则运算应用(基于控制台)
- Python生态工具、文本处理和系统管理(虚拟)
- C++笔记(2018/2/7)
- 《Python程序设计(第3版)》[美] 约翰&#183;策勒(John Zelle) 第 4 章 答案
- Quartz_2_简单编程式任务调度使用(CronTrigger)
热门文章
- [Node.js]DNS模块
- [Mysql]MySQL 服务无法启动。
- 在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为(外文翻译)
- MVC使用Gantt Chart实现甘特图,管理事情进度
- 如何下载android源码与android内核源码
- pytest文档27-pytest分布式执行(pytest-xdist)
- UIScrollView视差模糊效果
- Dwz手册的补充说明和常见问题
- git打pach包
- 0, \0, NULL