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

     

    static之静态初始化块

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

    比如下面的代码:

    运行结果:


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

    参考:

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

                                         

  • 相关阅读:
    C#写入系统日志(日志位置)
    vue element enter事件
    C#记一次配置文件的坑
    C#简单解决winfrom窗体打开时候闪动
    C#语言切换
    C#textbox允许换行
    C#中窗体边框隐藏
    C#背景图片自适应
    IOC的实现原理—反射与工厂模式
    终生学习
  • 原文地址:https://www.cnblogs.com/s1-myblog/p/6795470.html
Copyright © 2011-2022 走看看