Java5.0新特性05-枚举(enum)

枚举:

 枚举类: 实例有限而且固定的类,称为枚举类

格式:

       enumEnumSeason {

      

           SPRING("SPRING"),SUMMER("SUMMER"),AUTUMN("AUTUMN"),WINTER("WINTER");

      

           private final String name;

      

           private EnumSeason(String name) {

                  this.name=name;

           }

      

           public String getName() {

                 return this.name;    

           }

      

       }

 

注意:

1.    枚举类的所有实例,必须列出于类中第一行位置,使用逗号(,)隔开,结尾使用分号(;)结束 (系统默认是 public static final修饰);

2.    使用enum关键字定义的枚举类,都是继承于java.lang.Enum类;

3.    枚举类的构造器,只能使用private修饰;枚举类的对象属性不允许被改变,只能使用private final 修饰,且对象属性的赋值应该在构造器中进行;

4.    JDK1.5开始,枚举也可以使用在switch语句中; (1.7可以使用String)

5.    若是枚举只有一个实例,则可以作为一个单例模式的实现方式;

6.    若是枚举类显式的定义了带参数的构造器,则在列出枚举值时,也必须对应的传人参数;

7.    实现接口的枚举类:

a)     枚举类和普通类一样是可以实现一个或多个接口的;

b)     若需要每个枚举值在调用实现接口方法时呈现不同的行为方式,则可以让每个枚举值分别来实现该方法:

8.    枚举类的方法:

a)     EnumSeason[ ] esArr = EnumSeason.values();//获取EnumSeason的所有枚举对象

b)     EnumSeason es = EnumSeason.valueOf( “SPRING” ) ;//通过名称来获取对应的对象

c)     System.out.println( es.ordinal() ); //求元素的顺序,从0开始

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章