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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 程洪 于 2012-3-26 18:52 编辑

老师的枚举Demo中疑问

老师已经将 WeekDay设计为了 抽象类
那么 在主函数中 为什么还能返回出抽象类类型 ?


我是这么去理解的 不知道对不对 在主函数中
WeekDay weekDay = weekDay.Mon;
实际上上是引用的 weekDay.Mon 对象
因为 weekDay.Mon 是WeekDay类的匿名内部类, 已经复写了WeekDay类中的抽象方法!




2 个回复

倒序浏览
WeekDay是抽象类,他里面的对象是由内部类创建的,不是他自己创建的,那个内部类还是他的子类。你看看WeekDay之所以是抽象类,是因为他有抽象方法,而内部类实现了这个方法,当然就能创建对象了。
回复 使用道具 举报
李井山 发表于 2012-3-26 18:56
WeekDay是抽象类,他里面的对象是由内部类创建的,不是他自己创建的,那个内部类还是他的子类。你看看WeekD ...


呵呵  有点单例的感觉
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马