Java Core trainee

Как реализовать Singleton?

Ответ

Самый простой и правильный способ — через enum (с Java 5): public enum Database { INSTANCE; public void connect() { /* ... */ } }

Разбор: Enum-синглтон предпочтителен, потому что JVM гарантирует единственность INSTANCE, а сериализация и защита от рефлексии работают из коробки. Обычный класс со static-полем от рефлексии и десериализации сам не защищён; класс из одних static-методов — это вообще не синглтон (нет экземпляра и состояния объекта), а абстрактный класс инстанцировать нельзя.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться