关于枚举解决方案

   阅读
关于枚举
/*
 * 用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能。 
1、私有的构造方法
2、每个元素分别用一个公有的静态成员变量表示
3、可以有若干公有方法或抽象方法。采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类。

*/

package cn.itheima;

public abstract class WeekDay {
private WeekDay(){}

public final static WeekDay SUN=new WeekDay(){
public WeekDay nextDay(){
return MON;
}
};

public final static WeekDay MON=new WeekDay(){
public WeekDay nextDay(){
return SUN;
}
};

public abstract WeekDay nextDay();

public String toString(){
return this==SUN?"SUM":"MON";
}
}
这段代码什么意思啊?
------解决思路----------------------
其实这个就是抽象类加上匿名内部类的运用而已,理解这两者后应该没什么问题
首先weekDay是一个抽象类,里面有个未实现的抽象方法nextDay(),
weekDay类里面的静态成员还是weekDay类型的,通过创建匿名类部内并实现抽象方法来创建子类
并用父类weekDay的应用指向它
阅读
上一篇:JDK nio2的有关问题 下一篇:返回列表