Я хочу, чтобы иметь возможность подклассифицировать некоторые значения в перечислении, чтобы мне не пришлось слишком много повторять код. Есть ли способ сделать это? Вот пример того, что я хочу достичь, что Eclipse, быстро говорит мне это мерзость:Подклассификация значения перечисления
public enum Foo {
BAR {
@Override
public void taskA() {
System.out.println("A");
}
@Override
public void taskB() {}
},
BAZ extends BAR {
@Override
public void taskB() {
System.out.println("B");
}
};
public abstract void taskA();
public abstract void taskB();
}
BAR
будет иметь только реализацию taskA
и пустой taskB
и BAZ
бы оба метода - реализация BAR
«s от taskA
и собственной реализации taskB
.
Я не изменяю значения перечисления после его объявления, так почему же это не работает? Я мог бы позвонить BAR
в taskA
методе в пределах BAZ
, так почему я не могу это сделать?
Можете ли вы использовать Java8? – slartidan
@slartidan Я не могу, но ваш пример ниже полезен для всех, у кого может быть такая же проблема. –