码迷,mamicode.com
首页 > 其他好文 > 详细

static之静态初始化块

时间:2017-05-02 13:53:18      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:优先执行   使用   子类   mil   方法   auto   size   color   程序   

 

static之静态初始化块

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

比如下面的代码:

技术分享

运行结果:

技术分享

 

 


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

参考:

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

                                     

static之静态初始化块

标签:优先执行   使用   子类   mil   方法   auto   size   color   程序   

原文地址:http://www.cnblogs.com/s1-myblog/p/6795470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!