静态块,代码块,构造方法执行顺序

静态代码块 --->动态代码块(类编译之后,块中的代码会被优化到构造函数中原有代码之前) --->构造函数-->其他方法

package com.icss.object;

publicclass LoadOrder {

    static {
        System.out.println("AA static block...");
    }

    {
        System.out.println("AA block...");
    }

    public LoadOrder() {
        System.out.println("AA constructor");
    }

}

class BB extends LoadOrder {

    static {
        System.out.println("BB static block...");
    }

    {
        System.out.println("BB block...");
    }

    public BB() {
        System.out.println("BB constructor");
    }

}
 

package com.icss.object;

 

publicclass LoadOrder {

 

    static {

       System.out.println("AA static block...");

    }

 

    {

       System.out.println("AA block...");

    }

 

    public LoadOrder() {

       System.out.println("AA constructor");

    }

 

}

 

class BB extends LoadOrder {

 

    static {

       System.out.println("BB static block...");

    }

 

    {

       System.out.println("BB block...");

    }

 

    public BB() {

       System.out.println("BB constructor");

    }

 

}

原文地址:https://www.cnblogs.com/pjlhf/p/8371605.html