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

时间:2022-05-15 19:36:48
14.对于代码:
class A {
    static {
        System.out.println(“A”); //静态代码块
    }
 
    {
        System.out.println(“B”);//构造代码块
    }  

    public A(){
        System.out.println(“C”);  /构造方法
    }   
}

class B extends A{
    static {
        System.out.println(“D”); //静态代码块
    }  

    {
        System.out.println(“E”); //构造代码块
    }

    public B(){
        System.out.println(“F”); //构造方法
    }

    @SuppressWarnings(“unused”)
    public static void main(String[] args){
        A a = new B();
    }
} 输出结果是:
 A.ABCDEF
 B.ADBCEF
 C.ABDECF
 D.ADBECF

 E.编译错误

答案:B

参考资料:http://blog.csdn.net/watermusicyes/article/details/7749712