static之静态初始化块
2024-10-16 18:43:38
static之静态初始化块
所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:
父类的静态初始化块
子类的静态初始化块
父类的初始化块
父类的构造函数
子类的初始化块
子类的构造函数
也就是说程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
比如下面的代码:
运行结果:
需要特别注意:
1)静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
2)非静态初始化块的代码会在类构造函数之前执行。使用时应当养成把初始化块写在构造函数之前的习惯,便于调试。
参考:
- http://www.cnblogs.com/BlackStorm/p/5699965.html
- 慕课网 Java入门第二季
最新文章
- BZOJ 2342 &; manachar+最优性剪枝
- poj1062 昂贵的聘礼
- Wijmo 5 与Breeze 的组合,及与METRONIC 的集成
- vi编辑器的简单使用
- adb 的相关操作及遇到的问题
- Android 主题动态切换框架:Prism
- 04737_C++程序设计_第10章_面向对象设计实例
- BZOJ 1489: [HNOI2009]双递增序( dp )
- JS的运算问题……
- box-sizing属性(指定针对元素的宽度与高度的计算方法)
- vscode添加vue格式化插件
- ZOJ 4070 - Function and Function - [签到题][2018 ACM-ICPC Asia Qingdao Regional Problem M]
- CentOS7.6 安装Docker
- 【转】MySQL理解索引、添加索引的原则
- day14 闭包
- 关于git经常忘记的:远程仓库关联。
- isBalanced函数实现
- OpenCL 归约 1
- mysql编译安装后各种常见错误集锦
- [NOI2010] 能量采集 (数学)
热门文章
- CentOS6.9安装Filebeat监控Nginx的访问日志发送到Kafka
- Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库
- MySQL常用引擎的锁机制
- HTTP.sys远程执行代码漏洞
- 如何查找物理cpu,cpu核心和逻辑cpu的数量
- Fstring
- TopCoder SRM500 Div1 1000 其他
- 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 	如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
- react学习二 生命周期
- 日志组件slf4j介绍及配置详解