2 июл. 2015 г.

Наследование. Практика – вызов конструкторов суперклассов.

Чтобы не сильно уставать от теории, опять немного попрактикуемся. И опять же вспомним и закрепим некоторый прошлый материал на практике. А практиковаться будем чтобы лучше понять вызов конструкторов суперклассов. А так же их инициализационных блоков.

И так, у нас есть три класса А, В и С. Класс С наследуется от класс В, а класс В от класса А.

C0001

C0002

C0003

C0004

C0005

Как видно из вывода программы, сперва, до вызова конструкторов соответствующих классов, вызываются их инициализационные блоки.

При создании объектов классов наследников сперва вызываются конструкторы суперклассов, начиная с самого первого суперкласса, в нашем случае класса А.

Но так же надо понимать всю внутреннюю кухню этого процесса, что просто по умолчанию в конструкторах подклассов не явно присутствует вызов конструктора суперкласса – super().

И опять же, хоть это и не видно в выводе, но был вызван и конструктор класса Object, но об этом мы поговорим позже.

Комментариев нет:

Отправить комментарий