前文:
一直以来都以为枚举只是单纯的存放着一些状态值而已,后来才知道原来枚举是可以内嵌方法和定义返回值的,特此做个笔记,当做备忘,如下。
1.创建枚举Calculator
package com.alex.design.adapterPattern.calculator;
public enum Calculator {
//加法运算
ADD("+") {
public int exec(int a, int b) {
return a + b;
}
},
//减法运算
SUB("-") {
public int exec(int a, int b) {
return a - b;
}
};
String value;
//定义成员值类型
Calculator(String _value) {
this.value = _value;
}
//获取枚举成员的值
public String getValue() {
return this.value;
}
//声明一个抽象函数
public abstract int exec(int a, int b);
}
2.测试类
package com.alex.design.adapterPattern.calculator;
public class Client {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = Calculator.ADD.exec(a, b);
System.out.println(c);
int d = Calculator.SUB.exec(a, b);
System.out.println(d);
}
}
3.效果图