楼主,这个问题我是今天刚的到解决,枚举类是分为普通枚举类和抽象枚举类的!! 普通枚举使用final进行修饰不允许被继承了 张孝祥老师讲的枚举的时候获取红绿灯的那段代码有抽象方法,这个就是另一种枚举类--抽象枚举类,这种类并没有被fianl修饰,而枚举实例后面的花括号里的代码实际上是匿名内部类的语法,创建匿名子类对象。- public abstract class WeekDay {
- private String name;
-
- private WeekDay(){}
-
- public static final WeekDay SUN = new WeekDay1(){
- public WeekDay nextDay() {
- return MON;
- }
- };
- public static final WeekDay MON = new WeekDay1(){
- public WeekDay nextDay() {
- return SUN;
- }
- };
-
- public abstract WeekDay nextDay();
-
- @Override
- public String toString(){
- return this == SUN ? "SUN" : "MON";
- }
- }
复制代码 |