枚举类型是指由一组固定的常量组合成合法值的类型。
背景需求
本次需求中,已经定了几个固定的常量值,每个常量值都有相同的行为,但是具体的实现细节不同。建议使用枚举抽象方法,好处:结构清晰,便于扩展。
枚举常量方法
最常见的星期一到星期日的常量,假设每天都需要打印不同的消息。
定义一个抽象方法,用于描述打印行为。
星期常量Override抽象方法,实现具体的打印细节。
代码演示如下:
public class EnumAbstract {
//对外提供方法
public void print(int key) {
keyOf(key).print();
}
public void print(WorkDays workDays){
workDays.print();
}
//获取Key对应的实例
private WorkDays keyOf(int key) {
switch (key) {
case 1:
return WorkDays.MONDAY;
case 2:
return WorkDays.TUESDAY;
case 3:
return WorkDays.WEDNESDAY;
case 4:
return WorkDays.THURSDAY;
case 5: