A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李娟 黑马帝   /  2011-12-24 21:22  /  1513 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李娟 于 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();
程序中定义了抽象类和方法,但是为什么要在静态对象中实现?

2 个回复

倒序浏览
王冀 黑马帝 2011-12-24 21:45:40
沙发
因为无法直接用new创建WeekDay的对象(构造方法私有,并且是抽象类)

定义静态方法使用也比较方便。
回复 使用道具 举报
张建 黑马帝 2011-12-24 22:32:43
藤椅
一个类之所以为抽象是因为它包含了抽象方法,谁说抽象类不能直接new的,在另外一个类中要使用这个抽象方法的时候,抽象方法没有函数体
(没有实际意义的方法),所以只能依靠子类重写一样的方法去覆盖该抽象方法来达到方法的有效性  谢谢  不要拍砖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马