java继承和静态方法

时间:2018-09-13 19:08:45

标签: inheritance

class M
{


    public M()
    {
        System.out.println('C');
    }

    static
    {
        System.out.println('A');
    }

    {
        System.out.println('B');
    }
}

class N extends M
{
    static
    {
        System.out.println('D');
    }

    {
        System.out.println('E');
    }

    public N()
    {
        System.out.println('F');
    }
}

public class Main
{
    public static void main(String[] args)
    {
        N n = new N();
    }
}

有人可以在这段代码中解释执行流程吗?我知道该调用首先到达了超类构造函数,然后到达了子类,但是我不明白这里执行的打印语句的顺序。我看到的输出是按ADBCE F的顺序排列的。在超类的构造函数之前?

0 个答案:

没有答案