Я пытаюсь изучить шаблон одноэлементного проектирования. Код выглядит следующим образом:
public class Model {
private static final Model INSTANCE = new Model();
public static void main(String[] args) {
Model.getInstance();
}
private Model(){
System.out.println("constructor");
}
public static Model getInstance(){
System.out.println("I hope to be printed first!");
return INSTANCE;
}
}
Я ожидаю, что сначала код напечатает I hope to be printed first!
, а затем go через конструктор класса. но вывод кода обратный:
constructor
I hope to be printed first!
Не могу понять, почему сначала создается экземпляр класса?