美文网首页
JAVA中静态块、静态变量加载顺序详解

JAVA中静态块、静态变量加载顺序详解

作者: Change_6556 | 来源:发表于2019-10-25 16:55 被阅读0次
public class test {                         //1.第一步,准备加载类

    public static void main(String[] args) {
        new test();                         //4.第四步,new一个类,但在new之前要处理匿名代码块        
    }

    static int num = 4;                    //2.第二步,静态变量和静态代码块的加载顺序由编写先后决定 

    {
        num += 3;
        System.out.println("b");           //5.第五步,按照顺序加载匿名代码块,代码块中有打印
    }

    int a = 5;                             //6.第六步,按照顺序加载变量

    { // 成员变量第三个
        System.out.println("c");           //7.第七步,按照顺序打印c
    }

    test() { // 类的构造函数,第四个加载
        System.out.println("d");           //8.第八步,最后加载构造函数,完成对象的建立
    }

    static {                              // 3.第三步,静态块,然后执行静态代码块,因为有输出,故打印a
        System.out.println("a");
    }

    static void run()                    // 静态方法,调用的时候才加载// 注意看,e没有加载
    {
        System.out.println("e");
    }
}
  1. 执行静态变量和静态代码块 按照熟悉执行
  2. 普通变量,匿名代码块 按照顺序执行
  3. 最后执行构造函数

相关文章

  • java相关零碎知识

    java初始化,加载顺序: 父类的静态成员变量,父类静态代码块,子类的静态成员变量,子类的静态代码块,父类非静态成...

  • 静态代码块、静态变量、成员变量等加载顺序详解

    静态代码块、静态变量、成员变量等加载顺序详解 1 单个类的初始化顺序 一个类 无论创建多少对象,静态数据只占用一份...

  • JAVA中静态块、静态变量加载顺序详解

    执行静态变量和静态代码块 按照熟悉执行 普通变量,匿名代码块 按照顺序执行 最后执行构造函数

  • java之静态代码块与构造方法加载次序

    java中的静态代码块,非静态块,构造办法的加载顺序是这样的:静态代码块 (程序加载时一次)--->非静态块(每次...

  • java 代码块顺序

    java 代码块的执行顺序: 静态变量 > 非静态变量静态变量 > 静态代码块 > 非静态代码块父构造 > 子构...

  • Java和Kotlin类的初始化顺序

    Java Java程序初始化的顺序:父类静态变量 -> 父类静态代码块 -> 子类静态变量 -> 子类静态代码块 ...

  • 设计模式——工厂,策略,建造者

    Java 类初始化顺序基本分为以下几种:静态块,初始化块,静态方法,构造函数块,静态变量,成员变量对于块顺序,静态...

  • Java父子类加载顺序

    加载顺序 先上桌结论: 父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父...

  • 类加载-初始化阶段

    加载顺序总结 父类的静态字段——>父类静态代码块——>子类静态字段——>子类静态代码块——>父类成员变量(非静态字...

  • JAVA的类加载顺序

    理解关于java类的加载顺序 首先来捋一捋java类的加载顺序吧 父类静态代码块 》》静态代码初始化,静态属性(带...

网友评论

      本文标题:JAVA中静态块、静态变量加载顺序详解

      本文链接:https://www.haomeiwen.com/subject/jcfevctx.html