子类与父类中静态代码块、匿名代码块、构造器--他们的运行顺序是咋样的呢?
下文笔者讲述子类和父类中静态代码块,匿名代码块,构造器的运行顺序简介说明,如下所示
静态代码块-匿名代码块-构造器的运行顺序
父类静态代码块-->>子类静态代码块-->>父类匿名代码块-->>父类构造器-->>子类匿名代码块-->>子类构造器 注意事项: 静态代码块在初始化时会被调用 匿名代码块与构造器对象创建时才会调用例:代码块的运行顺序示例
父类 public class InitSuper { static { System.out.println("InitSuper static{}"); } { System.out.println("InitSuper {}"); } public InitSuper() { super(); System.out.println("InitSuper Init()"); } } 子类 public class InitSub extends InitSuper{ static { System.out.println("InitSub static{}"); } { System.out.println("InitSub {}"); } public InitSub() { super(); System.out.println("InitSub Init()"); } public static void main(String[] args) { new InitSub(); } } -----运行结果----- InitSuper static{} InitSub static{} InitSuper {} InitSuper Init() InitSub {} InitSub Init()
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。