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