суббота, 21 ноября 2015 г.

Порядок создание объектов в Java

Никогда не задумывались, как происходит инициализация объекта класса, который в свою очередь наследуется от другого класса?
Порядок довольно прост. Допустим у нас есть класс Parent и класс Child. Child является потомком Parent.
В обоих классах есть и статические и простые блоки инициализации, так присутствуют и поля.
При попытке создать объект класса Child, происходит следующее:

  1. В порядке объявления, будут проинициализированы статические блоки и статические переменные в родительском классе.
  2. То же самое произойдет в классе потомке
  3. Инициализация в порядке объявления не статических переменных и не статических блоков инициализации в классе Parent
  4. Вызов конструктора Parent
  5. Инициализация нестатических полей и блоков инициализации в классе Child в порядке объявления
  6. Вызов конструктора Child


OUTPUT: