Ответ на викторину

Дан 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
Блок инициализации экземпляра ({}) выполняется перед конструктором при создании объекта
Конструктор выполняется последним