Я создал перечисление с одной переменной частного члена. Когда я пытаюсь получить доступ к переменной-члену, состояния компиляции "Не удается создать статическую ссылку на нестатический элемент поля Variable".
Если переменная не является частной (например, защищенной или защищенной пакетом), она компилируется в порядке. Я не понимаю, что область действия переменной имеет отношение к типу (статической, не статической) реализованной абстрактной функции.
Может кто-нибудь просветить меня?
public enum EnumWithAbstractMethodAndMembers {
TheOneAndOnly(1) {
@Override
public int addValue(final int value) {
return memberVariable + value;
}
};
private final int memberVariable;
private EnumWithAbstractMethodAndMembers(final int memberVariable) {
this.memberVariable = memberVariable;
}
abstract int addValue(int value);
}