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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张磊 黑马帝   /  2011-8-27 18:44  /  2913 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果可以,怎么实现?有什么实际应用

2 个回复

倒序浏览
黑马网友  发表于 2011-8-27 19:19:15
沙发
enum animals {DOG,CAT,DUCK};
里面的元素已经是继承了enum类了,因为你可以使用DOG调用enum的自身的方法,那是继承的特征
所以说DOG,CAT,DUCK都枚举的子类。。。。
回复 使用道具 举报
黑马网友  发表于 2011-8-27 21:42:44
藤椅

回复 楼主 的帖子

像楼上说的,是那样,但是显示的继承其他类,是不行的,但是实现接口却可以。
public interface Controller {
                 boolean isControl();
        }

        public enum TrafficLamp implements Controller{
                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();

                private int time;

                private TrafficLamp(int time) {
                        this.time = time;
                }

                public int getTime() {
                        return this.time;
                }

                public boolean isControl() {
                        return false;
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马