crpxnmmafq
changzhiqiang_
2017-06-29 10:57
采纳率: 100%
浏览 1.2k
已采纳

JAVA类加载问题、何时加载静态语句块

子类继承父类、使用子类对象时先加载子类的静态语句块、再加载父类的?import内容中静态语句块是否会被调用、用Class.forName时候什么时候加载静态语句块

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • oyljerry
    oyljerry 2017-06-29 14:39
    已采纳

    当父类与子类都有静态代码块和构造函数的时候,执行顺序如下:
    父类静态代码块 > 子类静态代码块 Java虚拟机加载类时,就会执行该块代码。
    父类构造函数 > 子类构造函数 (先有父亲,后有孩子)
    如果是多级继承关系的话,高层的父类首先执行,然后依次递减。
    总结:静态优先执行,父类优先于子类执行。 静态代码块是在JVM加载类的时候执行的,而且静态代码块执行且仅执行一次

    点赞 评论

相关推荐