Как использовать поля в перечислении 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.

Что не так и можно ли сделать это лучше?

Ответы на вопрос(8)

Ваш ответ на вопрос