枚举类

1.枚举类的使用场景:

  1.一个类需要创建的对象是有限个;

  2.需要定义一组常量;

2.枚举类的代码实现:

  

  1 package com.base.enums;
  2 
  3 
  4 public class SeasonTest {
  5     public static void main(String[] args) {
  6         //自定义枚举类测试
  7         Season spring = Season.spring;
  8         System.out.println(spring); //    Season{seasonName='春天', seasonDesc='春风拂面'}
  9         System.out.println(spring.getSeasonName());//   春天
 10         //enum关键字枚举类测试
 11         Season1 autumn = Season1.autumn;
 12         System.out.println(autumn);  // enum的父类重写了toSrping默认打印对象名   autumn
 13 
 14         //enum枚举类实现接口测试
 15         System.out.println(autumn.show());  //    秋天到了!
 16 
 17     }
 18 }
 19 /**
 20  * 自定义枚举类
 21  */
 22 class Season{
 23     private  final String seasonName;
 24     private final String seasonDesc;
 25 
 26     private Season(String seasonName, String seasonDesc) {
 27         this.seasonName = seasonName;
 28         this.seasonDesc = seasonDesc;
 29     }
 30 
 31     public static final Season spring = new Season("春天","春风拂面");
 32     public static final Season summer = new Season("夏天","夏日炎炎");
 33     public static final Season autumn = new Season("秋天","秋高气爽");
 34     public static final Season winter = new Season("冬天","寒冬腊月");
 35 
 36     public String getSeasonName() {
 37         return seasonName;
 38     }
 39 
 40     public String getSeasonDesc() {
 41         return seasonDesc;
 42     }
 43 
 44 
 45     @Override
 46     public String toString() {
 47         return "Season{" +
 48                 "seasonName='" + seasonName + '\'' +
 49                 ", seasonDesc='" + seasonDesc + '\'' +
 50                 '}';
 51     }
 52 }
 53 
 54 /**
 55  * 定义枚举类需要实现的接口
 56  */
 57 interface Info{
 58     String show();
 59 }
 60 /**
 61  * enum关键字枚举类
 62  */
 63 enum Season1 implements Info{
 64     spring ("春天","春风拂面"){
 65         @Override
 66         public String show() {
 67             return "春天到了!";
 68         }
 69     },
 70     summer("夏天","夏日炎炎"){
 71         @Override
 72         public String show() {
 73             return "夏天到了!";
 74         }
 75     },
 76     autumn ("秋天","秋高气爽"){
 77         @Override
 78         public String show() {
 79             return "秋天到了!";
 80         }
 81     },
 82     winter("冬天","寒冬腊月"){
 83         @Override
 84         public String show() {
 85             return "冬天到了!";
 86         }
 87     };
 88 
 89 
 90 
 91 
 92     private  final String seasonName;
 93     private final String seasonDesc;
 94 
 95     private Season1(String seasonName, String seasonDesc) {
 96         this.seasonName = seasonName;
 97         this.seasonDesc = seasonDesc;
 98     }
 99 
100 
101 
102     public String getSeasonName() {
103         return seasonName;
104     }
105 
106     public String getSeasonDesc() {
107         return seasonDesc;
108     }
109 }

 

posted @ 2020-11-28 13:38  Learn丶馒头  阅读(134)  评论(0)    收藏  举报