黑马程序员技术交流社区

标题: enum类 [打印本页]

作者: 白倩    时间: 2011-11-1 07:29
标题: enum类
枚举类中可以写抽象方法?那么枚举也是抽象的么?这个问题有点不明白!
不是只有抽象类中才能定义抽象方法么?
作者: 张邦庆    时间: 2011-11-1 08:26
枚举就是一个抽象类,里面的成员都是它的子类的实例化对象
作者: 吉许    时间: 2011-11-1 08:57
枚举刚了解还没深入学习.来看大家讨论学习的,顶一下!
作者: 成杰    时间: 2011-11-1 09:01
枚举类比较特殊,首先枚举也是一个类,在里面可以定义抽象方法,但是在定义枚举元素时,就必须实现定义的抽象方法,类似于匿名类。如下:
public enum TrafficLamp {
                RED(30){  //在定义枚举元素时,就必须实现抽象方法
                        public  TrafficLamp  nextLamp() {
                                return GREEN;
                        }
                },
                GREEN(45){
                        public   TrafficLamp  nextLamp() {
                                return YELLOW;
                        }
                },
                YELLOW(5) {
                        public  TrafficLamp  nextLamp() {
                        return RED;
                        }
                };
                public abstract  TrafficLamp  nextLamp();
作者: 李建雄    时间: 2011-11-1 15:24
是可以定义抽象方法的,
定义了抽象方法后,他的成员(每个实例对象)都要实现定义的抽象方法
但是类名(枚举)中不能用abstract去修饰.这大概是枚举本来是抽象的,就不需要去显示修饰
这就如:在接口中定义方法时,不需要用public修饰




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