Java枚举实现接口用法详解
枚举的灵活用法一直挺受欢迎的,尤其是你想让枚举项带点行为的时候。用Java 枚举去实现接口,就是个还不错的选择。这样做的好处是:每个枚举项都可以有不同的实现逻辑,适合状态机、策略模式一类的需求。
写法其实也不复杂,定义一个接口,让枚举类去实现,枚举项里重写方法就行。像下面这样:
interface Operation {
int apply(int x, int y);
}
enum Operator implements Operation {
PLUS {
public int apply(int x, int y) { return x + y; }
},
MINUS {
public int apply(int x, int y) { return x - y; }
}
}
这样写,调用起来也清晰,Operator.PLUS.apply(2, 3)
就能直接得到结果。想扩展操作也方便,加个枚举项就行。
不过也要注意点,别在枚举里写太复杂的逻辑,不然一长串看着脑壳疼。适合那种行为比较稳定的小功能,别搞成业务核心逻辑。
如果你对枚举用法还不太熟,推荐你看看这几篇文章,写得都还挺清楚:
如果你正好在做接口策略或者状态切换的逻辑,可以试试用枚举+接口这种组合,代码结构清爽不少。
215KB
文件大小:
评论区