Синглтон в Java – это концепция, которая описывает, что класс должен иметь один и только один экземпляр объекта. Что это значит? С одним классом не инициируется другой объект.
Есть какой-то способ реализовать это. Во-первых, мы можем использовать статическое поле общедоступного экземпляра в классе. Например
class A { public static final A INSTANCE = new A(); private A() {} }
С помощью статического окончательного файла мы делаем очень четкое заявление о классе
Второй способ реализации синглтона – это использование статического фабричного метода.
class A { private static A INSTANCE = new A(); public static A getInstance() { return INSTANCE; } private A() {} }
Используя этот статический фабричный метод, мы могли бы получить некоторое преимущество по сравнению с использованием поля общедоступного статического экземпляра. Мы могли бы отказаться от использования синглтона, не меняя API класса. Мы также могли бы вернуть класс, который является подтипом возвращаемого класса.
Оригинал: “https://dev.to/htintrinh/effective-java-part3-singleton-1hbh”