java加载顺序?

class A{
  public static void f(){}

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

阅读 1.3k
1 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题