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

© 李万海 中级黑马   /  2013-3-27 10:38  /  1134 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李万海 于 2013-3-27 12:48 编辑
  1. public enum TrafficLamp {
  2.         RED{
  3.                 public TrafficLamp nextLamp(){
  4.                         return GREEN;
  5.                 }
  6.         },
  7.         GREEN{
  8.                 public TrafficLamp nextLamp(){
  9.                         return YELLOW;
  10.                 }
  11.         },
  12.         YELLOW{
  13.                 public TrafficLamp nextLamp(){
  14.                         return RED;
  15.                 }
  16.         };
  17.         /* TrafficLamp nextLamp() {
  18.                 return null;
  19.         }*/
  20.          public abstract TrafficLamp nextLamp();
  21. }
复制代码
请看注释部分,他跟public abstract TrafficLamp nextLamp();实现的是同样的nextLamp方法,请问这两种实现有什么区别?

评分

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

查看全部评分

2 个回复

倒序浏览
利用抽象方法是定义一种规范,他的事例对象,如Red 必须复写这个方法,你不复写就会出错
你在里面定义方法也可以,不过你每个对象对应的不一样,相当麻烦呀 ,定义抽象是为了简化

评分

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

查看全部评分

回复 使用道具 举报
若还有问题,请继续追问;没有的话,尽量及时将帖子分类改成【已解决】哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马