黑马程序员技术交流社区

标题: 枚举一 [打印本页]

作者: 李娟    时间: 2011-12-24 21:22
标题: 枚举一
本帖最后由 李娟 于 2011-12-25 20:17 编辑

public abstract class WeekDay{
private WeekDay(){}
public final static WeekDay SUN = new WeekDay(){
       @override
       public WeekDay nextDay(){
             return MON;
       }
};
public abstract WeekDay nextDay();
程序中定义了抽象类和方法,但是为什么要在静态对象中实现?
作者: 王冀    时间: 2011-12-24 21:45
因为无法直接用new创建WeekDay的对象(构造方法私有,并且是抽象类)

定义静态方法使用也比较方便。
作者: 张建    时间: 2011-12-24 22:32
一个类之所以为抽象是因为它包含了抽象方法,谁说抽象类不能直接new的,在另外一个类中要使用这个抽象方法的时候,抽象方法没有函数体
(没有实际意义的方法),所以只能依靠子类重写一样的方法去覆盖该抽象方法来达到方法的有效性  谢谢  不要拍砖




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2