Чтобы не сильно уставать от теории, опять немного попрактикуемся. И опять же вспомним и закрепим некоторый прошлый материал на практике. А практиковаться будем чтобы лучше понять вызов конструкторов суперклассов. А так же их инициализационных блоков.
И так, у нас есть три класса А, В и С. Класс С наследуется от класс В, а класс В от класса А.
Как видно из вывода программы, сперва, до вызова конструкторов соответствующих классов, вызываются их инициализационные блоки.
При создании объектов классов наследников сперва вызываются конструкторы суперклассов, начиная с самого первого суперкласса, в нашем случае класса А.
Но так же надо понимать всю внутреннюю кухню этого процесса, что просто по умолчанию в конструкторах подклассов не явно присутствует вызов конструктора суперкласса – super().
И опять же, хоть это и не видно в выводе, но был вызван и конструктор класса Object, но об этом мы поговорим позже.
Комментариев нет:
Отправить комментарий