Встречается на собеседованиях • сегодня

Как реализовать единственный экземпляр без использования Singleton

В Java можно использовать статическое поле в сочетании с приватным конструктором и фабричным методом:

java
public class SingleInstance {
    private static final SingleInstance INSTANCE = new SingleInstance();

    private SingleInstance() {}  // приватный конструктор
text
public static SingleInstance getInstance() {
    return INSTANCE;
}

}

text

Альтернативные подходы:
1. Enum (рекомендуется Джошуа Блохом):
```java
public enum Singleton {
    INSTANCE;
}
  1. Через статический блок инициализации:
java
public class Singleton {
    private static final Singleton instance;
    
    static {
        instance = new Singleton();
    }
    
    public static Singleton getInstance() {
        return instance;
    }
}

Эти подходы обеспечивают потокобезопасность на уровне загрузки класса и предотвращают создание дополнительных экземпляров через рефлексию (кроме первого варианта).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы