static之静态初始化块

所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:
      父类的静态初始化块
      子类的静态初始化块
      父类的初始化块
      父类的构造函数
      子类的初始化块
      子类的构造函数
      也就是说程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

比如下面的代码:

运行结果:

需要特别注意:
1)静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
2)非静态初始化块的代码会在类构造函数之前执行。使用时应当养成把初始化块写在构造函数之前的习惯,便于调试。

参考:

  • http://www.cnblogs.com/BlackStorm/p/5699965.html
  • 慕课网 Java入门第二季

最新文章

  1. BZOJ 2342 & manachar+最优性剪枝
  2. poj1062 昂贵的聘礼
  3. Wijmo 5 与Breeze 的组合,及与METRONIC 的集成
  4. vi编辑器的简单使用
  5. adb 的相关操作及遇到的问题
  6. Android 主题动态切换框架:Prism
  7. 04737_C++程序设计_第10章_面向对象设计实例
  8. BZOJ 1489: [HNOI2009]双递增序( dp )
  9. JS的运算问题……
  10. box-sizing属性(指定针对元素的宽度与高度的计算方法)
  11. vscode添加vue格式化插件
  12. ZOJ 4070 - Function and Function - [签到题][2018 ACM-ICPC Asia Qingdao Regional Problem M]
  13. CentOS7.6 安装Docker
  14. 【转】MySQL理解索引、添加索引的原则
  15. day14 闭包
  16. 关于git经常忘记的:远程仓库关联。
  17. isBalanced函数实现
  18. OpenCL 归约 1
  19. mysql编译安装后各种常见错误集锦
  20. [NOI2010] 能量采集 (数学)

热门文章

  1. CentOS6.9安装Filebeat监控Nginx的访问日志发送到Kafka
  2. Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库
  3. MySQL常用引擎的锁机制
  4. HTTP.sys远程执行代码漏洞
  5. 如何查找物理cpu,cpu核心和逻辑cpu的数量
  6. Fstring
  7. TopCoder SRM500 Div1 1000 其他
  8. 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
  9. react学习二 生命周期
  10. 日志组件slf4j介绍及配置详解