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();
}