枚举实现接口——模拟可扩展的枚举
概要
虽然无法编写可拓展的枚举类型,却可以通过编写接口以及实现该接口的基础枚举类型来对它进行模拟。
一、带有抽象方法的枚举
public enum Operation {
PLUS("+"){
public double apply(double x, double y) {
return x+y; }
},
MINUS("-"){
@Override
public double apply(double x, double y) {
return x-y;
}
},
TIMES("*"){
@Override
public double apply(double x, double y) {
return x*y;
}
},
DIVIDE("/"){
@Override
public double apply(double x, double y) {
return x/y;
}
};
private final String symbol;
Operation(