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) 就能直接得到结果。想扩展操作也方便,加个枚举项就行。

不过也要注意点,别在枚举里写太复杂的逻辑,不然一长串看着脑壳疼。适合那种行为比较稳定的小功能,别搞成业务核心逻辑。

如果你对枚举用法还不太熟,推荐你看看这几篇文章,写得都还挺清楚:

如果你正好在做接口策略或者状态切换的逻辑,可以试试用枚举+接口这种组合,代码结构清爽不少。

ppt 文件大小:215KB