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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙宁洋 中级黑马   /  2013-5-31 21:01  /  1045 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.为什么要有枚举

  枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标

2.枚举应用

   ---私有的构造方法

---每个元素分别用一个公有的静态成员变量表示

---可以有若干个公有方法

----枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法

-----枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后面要有分号与其他成员分隔,把枚举

-----枚举只有一个成员时,就可以作为一种单例的实现方式。

应用举例:

public EnumTest{

   public static void main(String []args)

    {

        WeekDay weekDay2=WeekDay.FRI;

        System.out.println(weekDay2);//FRI

         System.out.println(weekDay2.name());//FRI

         System.out.println(weekDay2.ordinal());//5 ---排行

          System.out.println(WeekDay.valueof("SUN").toString);//静态方法---toString

          System.out.println(WeekDay.values().length);//枚举成员数组

       }

  public enum WeekDay{

  

      SUN(1),MON,TUE,WED,THI,FRI,SAT;//元素列表必须放在前段

      private WeekDay(){}//构造方法

      private WeekDay(int day){}

    }



// 带有抽象方法的枚举--交通灯

  public enum TrafficLamp{

       RED(30){

            public TrafficLamp nextLamp(){

              return GREEN;

              }

           },

       GREEN(45){

               public TrafficLamp nextLamp(){

                return YELLOW;

                }

             },

       YELLOW(10){

                 public TrafficLamp nextLamp(){

                    return RED;

                    }

               };

       public abstract TrafficLamp nextLamp();

       private int time;

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

     }

}










评分

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

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马