java的enum类型,与C#不一样,它就是一个类,它可以实现接口,并且,可以通过的不同的枚举值来实现一个接口,这就是枚举的多态性。
- 下面的例子,在Hello接口有方法print,在枚举Strategy中,通过不同的枚举值分别实现了Hello接口,如下代码
enum Strategy implements Hello {
CHINA() {
@Override
public void print() {
System.out.println("中文");
}
},
US() {
@Override
public void print() {
System.out.println("eng for us");
}
};
}
interface Hello {
void print();
}
- 在使用中,你可以按着具体的策略去使用对应的方法即可
@Test
public void test() {
Strategy.CHINA.print();
Strategy.US.print();
}
在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多