Я пытаюсь создать одноэлементный класс в Java. Лучшее доступное решение с версиями Java5 и выше, похоже, использует enum
. Но я не уверен, как преобразовать свой класс в одноэлементный класс, используя enum
. Ниже мой упрощенный класс:Как создать одноэлементный класс с использованием enum
public class Employee {
private int id;
private String name;
public Employee() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Когда я искал ответы в сети я нашел следующий код:
public enum EasySingleton{
INSTANCE;
}
Но где мои переменные и методы класса? Я не уверен, как это реализовать. Я знаю, что мы можем предоставить методы для enum
, но где будут мои переменные? Любая помощь по этому поводу была бы очень оценена.
P.S .: Пожалуйста, не обсуждайте, являются ли синглтоны злыми или анти-шаблонами. Мне просто интересно, как создать синглтон, используя enum
.
Вы бы поместили их в перечисление. Но наличие * изменчивого * перечисления было бы очень странным - и наличие изменчивого синглтона было бы странным. «Сотрудник» просто не чувствует себя как естественный синглтон. –
Посмотрите [здесь] (https://bitbucket.org/vadimvera/java-design-patterns/) и [здесь] (https://bitbucket.org/vadimvera/java-standard-edition/src/d0ae9863354c48291cc4ff0e91e9f80fd96fdce2/ src/main/java/io/shido/patterns/Singleton.java? at = master) ... хотя ваш класс выглядит как обычный класс –
Пожалуйста, обратитесь к этому: [post] (http://stackoverflow.com/a/2912312/2928710) –