Рассмотрим следующую реализациюПеречисления и Singletons
public enum Singleton {
INSTANCE;
private final OnlyOne onlyOne;
Singleton() {
onlyOne = new OnlyOne();
}
public static Singleton getInstance() {
return INSTANCE;
}
public static void main(String[] args) {
Singleton one = getInstance();
one.onlyOne.method();
}
}
class OnlyOne {
public void method() {
System.out.println("Hello World");
}
}
Здесь я попытался реализовать Singleton с помощью enum
. Я хочу, чтобы OnlyOne
имел только один экземпляр. Мой вопрос заключается в том, как ограничить клиентов от экземпляров объектов класса OnlyOne
? Потому что в каком-то другом классе мы можем легко сделать это
OnlyOne one = new OnlyOne();
я не могу предоставить приватный конструктор для этого, так как это нарушит этот
Singleton() {
onlyOne = new OnlyOne();
}
мне нужно использовать перечисление в качестве внутреннего элемента Do OnlyOne
класс? Какие-либо предложения?
с момента главной заботой является то, что вы не хотите, чтобы создать более одного экземпляра вы можете сделать класс 'onlyOne', как синглтон – Rohit