
Дан Java-код с классом Test, который демонстрирует порядок выполнения:
public class Test {
static {
System.out.print("1 ");
}
{
System.out.print("2 ");
}
public Test() {
System.out.print("3 ");
}
}
public static void main(String[] args) {
new Test();
}
Что выведет этот код при запуске?
Правильный ответ: 1 2 3
Объяснение:
Статический блок (static {}) выполняется первым при загрузке класса в JVM
Блок инициализации экземпляра ({}) выполняется перед конструктором при создании объекта
Конструктор выполняется последним
