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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dangfei 中级黑马   /  2012-2-23 20:58  /  1594 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举是特殊的类,确实发现它的操作跟类有诸多相同之处。
问题:
在枚举中有抽象方法时,为什么不能把枚举定义成抽象的,如:
public  enum light{
                bai{
                        ...                },huang {
                        ...                        }
                },lu{
                        ...                        }
                };
                public abstract light next();
               
为什么不能写成public abstract   enum light?

3 个回复

倒序浏览
你这个问题很有创造性,我们定义抽象类的目的是让子类去实现其中的抽象方法,因为我们不知道将来子类会有什么具体实现,但是枚举的作用是列出一系列的元素,在你方便的时候调用它,这本来是两个不同的事物,你为什么要把他们放在一起呢.
回复 使用道具 举报
不过楼主可以将你的抽象方法封装到一个接口中,在对别人传入的枚举进行类型判断,强制其实现你的特定接口
回复 使用道具 举报
如果我们把枚举定义抽象的,那么对于在其内部定义的每一个实例成员,那么怎样去定义呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马