Наследование Java и статические методы - PullRequest
0 голосов
/ 13 сентября 2018
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. Итак, сначала вызываются статические методыперед конструктором в суперклассе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...