zoukankan      html  css  js  c++  java
  • static之静态初始化块

     

    static之静态初始化块

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

    比如下面的代码:

    运行结果:


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

    参考:

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

                                         

  • 相关阅读:
    GitHub里的Hello World!
    4 款消息队列软件产品大比拼(转)
    .net常用组件
    Dapper.NET使用(转)
    设置MYSQL允许用IP访问
    test1
    SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
    Quartz.NET配置
    Quartz CronTrigger配置
    Quartz CronTrigger最完整配置说明
  • 原文地址:https://www.cnblogs.com/s1-myblog/p/6795470.html
Copyright © 2011-2022 走看看