黑马程序员技术交流社区

标题: 枚举的对象直接可以有子类? [打印本页]

作者: 许鹏    时间: 2011-8-9 10:16
标题: 枚举的对象直接可以有子类?
在交通灯的RED,GREEN,YELLOW中,这些对象可以直接有子类,实现方法,看上去很别扭,怎么理解?
public enum TrafficLamp{
RED(30){//TrafficLamp子类及其实现
  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 time;
}
}
作者: 匿名    时间: 2011-8-10 05:59
我是直接在nextLamp上swhich(this)作判断的,在子类重写方法太恶心了,能不用最好不用
作者: 匿名    时间: 2011-8-10 06:01
red,green都是子类来的。




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