JAVA枚举注解.docxVIP

  • 0
  • 0
  • 约5.07千字
  • 约 7页
  • 2018-01-02 发布于河南
  • 举报
JAVA枚举注解

枚举JDK1.5之前需要自定义枚举类JDK1.5新增的enum关键字用来定义枚举类若枚举只有一个成员,则可以作为一种单例模式的实现方式枚举类:类的对象是有限个,确定的自定义枚举类:私有化类的构造器,保证不能在类的外部创建对象在类的内部创建枚举类的实例,声明为:public static final若类有属性,那么属性声明为:private final,此属性在构造器中赋值packagecom.eonline.lyy;publicclassTestSeason {publicstaticvoid main(String[] args){Season spring = Season.SPRING;System.out.println(spring);spring.show();System.out.println(spring.getSeasonName());}}//枚举类自定义的方式class Season{//提供类的属性,声明为private finalprivatefinal String seasonName;privatefinal String seasonDesc;//私有化构造器//声明为final的属性,在构造器中初始化private Season(String seasonName,StringseasonDesc){this.seasonName = seasonName;this.seasonDesc = seasonDesc;}//通过公共的方法来调用属性public String getSeasonName() {returnseasonName;}public String getSeasonDesc() {returnseasonDesc;}//创建枚举类的对象(在内部创建对象,在外面直接调用):将类的对象声明为public static finalpublicstaticfinal Season SPRING = new Season(spring,春暖花开);publicstaticfinal Season SUMMER = new Season(SUMMER,夏日炎炎);publicstaticfinal Season FALL = new Season(FALL,秋高气爽);publicstaticfinal Season WINTER = new Season(WINTER,白雪皑皑);@Overridepublic String toString() {returnSeason [seasonName= + seasonName + , seasonDesc=+ seasonDesc + ];}publicvoid show(){System.out.println(this is a season!);}}使用enum关键字定义枚举类常用方法values()和valuesOf(String name)packagecom.eonline.lyy;publicclass TestSeason1 {publicstaticvoid main(String[] args){Season1 spring = Season1.SPRING;System.out.println(spring);spring.show();System.out.println(spring.getSeasonName());//values()Season1[] seasons = Season1.values();for(inti=0;iseasons.length;i++){System.out.println(seasons[i]);}//valuesOf(String name):要求传入的形参是枚举对象的类名,否则报异常String str = SPRING;Season1 sea= Season1.valueOf(str);System.out.println(sea);Thread.State[] states = Thread.State.values();for(inti=0;istates.length;i++){System.out.println(states[i]);}}}//枚举类定义的方式enum Season1{SPRING(spring,春暖花开),SUMMER(SUMMER,夏日炎炎),FALL(FALL,秋高气爽),WINTER(WINTER,白雪皑皑);privatefinal String seasonName;privatefinal String seasonDesc;private Season1(String seasonName,StringseasonDes

文档评论(0)

1亿VIP精品文档

相关文档