最近发现,在枚举中,可以声明抽象方案,枚举值可以实现抽象方法,具体代码如下:
public enum OperationEnum {
/**
* 加法
*/
ADD() {
@Override
double eval(double a, double b) {
return a + b;
}
},
/**
* 减法
*/
SUBSTRACT() {
@Override
double eval(double a, double b) {
return a - b;
}
},
/**
* 除法
*/
DIVISION() {
@Override
double eval(double a, double b) {
return a / b;
}
},
/**
* 乘法
*/
MULTIPLICATION() {
@Override
double eval(double a, double b) {
return a / b;
}
},
;
abstract double eval(double a, double b);
OperationEnum() { }
}
class Test {
public static void main(String[] args) {
System.out.println(OperationEnum.ADD.eval(1,2));
}
}
输出
3.0