java加载顺序?

class A{
  public static void f(){}

A a=new A();
先加载类还是先加载静态语句?


回答:

先加载类。
正确表述应该是:加载类,初始化静态语句。
类加载发生在最前面,类加载顺序为: 加载-链接-初始化...
静态语句初始化发生在初始化阶段,晚于类加载阶段。

如果是在问,在 A a=new A();时,静态部分和实例部分的初始化顺序,那么全部的初始化顺序为:

  1. 静态变量
  2. 静态代码块
  3. 非静态变量
  4. 非静态代码块
  5. 构造函数

若果再考虑父类的话,完整的顺序可以参照 https://cloud.tencent.com/dev...

以上是 java加载顺序? 的全部内容, 来源链接: utcz.com/p/944704.html

回到顶部