Как использовать поля в перечислении java, переопределяя метод? [Дубликат]
На этот вопрос уже есть ответ здесь:
Почему реализации перечисления не имеют доступа к закрытым полям в классе перечисления 4 ответаЗадача состоит в том, чтобы реализовать красивый шаблон дизайна стратегии с Javaenum
:
public enum MyEnum {
FIRST {
@Override
public String doIt() {
return "1: " + someField; //error
}
},
SECOND {
@Override
public String doIt() {
return "2: " + someField; //error
}
};
private String someField;
public abstract String doIt();
}
но при обращении кsomeField
я получил
Невозможно сделать статическую ссылку на нестатическое поле someField.
Что не так и можно ли сделать это лучше?