原文地址 JAVA 中静态块、静态变量加载顺序详解_西红柿鸡蛋打卤面的博客 - CSDN 博客
如果类是第一次加载:
- 先执行父类的静态代码块和静态变量初始化,并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。
- 执行子类的静态代码块和静态变量初始化。 并且静态代码块和静态变量的执行顺序只跟代码中出现的顺序有关。
- 执行父类的代码块
- 执行父类的实例变量初始化 。
- 执行父类的构造函数
- 执行子类的代码块
- 执行子类的实例变量初始化
- 执行子类的构造函数
如果类已经被加载:
则静态代码块和静态变量就不用重复执行,再创建类对象时,只执行与实例相关的代码块、变量初始化和构造方法。