Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.
Наука · 9 августа 2026 г.
Как работают instance initializer blocks. — 9 августа 2026 г. в 06:05:41.896
Как работают instance initializer blocks. Пример с родительским и дочерним классами: class Parent { int a = 5; { System.out.println("Parent instance initializer"); a = 10; } Parent() { System.out.println("Parent constructor, a = " + a); } } class Child extends Parent { int b = 15; { System.out.println("Child instance initializer"); b = 25; } Child() { System.out.println("Child constructor, b = " + b); } } public class Test { public static void main(String[] args) { Child child = new Child(); } } Вывод программы: Parent instance initializer Parent constructor, a = 10 Child instance initializer Child constructor, b = 25 Пошаговое выполнение: 1. Сначала загружается родительский класс Parent. 2. Выполняется: - Инициализация полей родителя (a = 5), - Потом instance initializer блока родителя (a = 10), - Потом конструктор родителя (Parent()). 3. Далее переходим к дочернему классу Child: - Инициализация полей дочернего класса (b = 15), - Потом instance initializer блока дочернего класса (b = 25), - Потом конструктор дочернего класса (Child()). Важный порядок действий: 1. Инициализация родителя → 2. Конструктор родителя → 3. Инициализация потомка → 4. Конструктор потомка. Блоки инициализации всегда выполняются до тела конструктора, но после вызова super(). 👉 @BookJava

