美文网首页MQ的Java基础知识菜的一
父类子类代码块执行顺序

父类子类代码块执行顺序

作者: 这个人很爱你 | 来源:发表于2019-03-12 14:54 被阅读0次

    测试代码如下

    public class Children extends Parent {
        public Children() {
            System.out.println("空子类构造器");
        }
        static {
            System.out.println("子类静态代码块");
        }
        {
            System.out.println("子类构造代码块");
        }
    }
    
    public class Parent {
        public Parent() {
            System.out.println("空父类构造器");
        }
        static {
            System.out.println("父类静态代码块");
        }
        {
            System.out.println("父类构造代码块");
        }
    }
    

    测试代码:

    public class Parent {
        public Parent() {
            System.out.println("空父类构造器");
        }
        static {
            System.out.println("父类静态代码块");
        }
        {
            System.out.println("父类构造代码块");
        }
    }
    
    

    执行结果如下

    父类静态代码块
    子类静态代码块
    父类构造代码块
    空父类构造器
    子类构造代码块
    空子类构造器
    父类构造代码块
    空父类构造器
    子类构造代码块
    空子类构造器

    总结:顺序是:父类静态代码块-》子类静态代码块-》父类构造代码块-》父类构造器-》子类构造代码块-》空子类构造器

    当再次调用的时候 依然要调用父类构造代码块和父类构造器-》然后子类构造代码块-》子类构造器

    相关文章

      网友评论

        本文标题:父类子类代码块执行顺序

        本文链接:https://www.haomeiwen.com/subject/qrfnpqtx.html