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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周四川 中级黑马   /  2012-4-18 19:31  /  1637 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public enum TrafficLamp
  2.         {
  3.                 RED(30) {
  4.                         @Override
  5.                         public TrafficLamp nextLamp() {
  6.                                 // TODO Auto-generated method stub
  7.                                 return GREEN;
  8.                         }
  9.                 },GREEN(45) {
  10.                         @Override
  11.                         public TrafficLamp nextLamp() {
  12.                                 // TODO Auto-generated method stub
  13.                                 return YELLOW;
  14.                         }
  15.                 },YELLOW(5) {
  16.                         @Override
  17.                         public TrafficLamp nextLamp() {
  18.                                 // TODO Auto-generated method stub
  19.                                 return RED;
  20.                         }
  21.                 };
  22.                 public abstract TrafficLamp nextLamp();
  23.                 private int time;
  24.                 private TrafficLamp(int time)
  25.                 {
  26.                         this.time=time;
  27.                 }
  28.         }
复制代码
求详细解释下...

3 个回复

倒序浏览
     定义个关于交通灯的枚举类TrafficLamp,此类有一个构造方法,构造方法传入一个参数,参数表示灯亮的时间。还有一个nextLamp();的抽象方法,表示当前灯灭后下一展应该亮的灯。由于不同的灯灭后,下一展应该亮的灯是不同的,所以定义为抽象方法,在具体实例的子类中实现此方法。此抽象方法就像定义了一个标准或者说协议,此标准定义了子类必须拥有的一个功能,子类必须实现此标准以使子类拥有标准所拥有的功能。然后,采用内部类的方法定义了3盏灯。

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

回复 使用道具 举报
刘旭 发表于 2012-4-18 19:48
定义个关于交通灯的枚举类TrafficLamp,此类有一个构造方法,构造方法传入一个参数,参数表示灯亮的时 ...

谢谢你的解释,不过貌似版主咋不给我加分呢?

点评

你的问题太笼统,我不知道你到底是哪块不太理解,不能总是指望别人详细回答,自己也要先多思考!  发表于 2012-4-20 22:00
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马