自定义枚举类和Enum关键字的使用

自定义枚举类
/**
 * 一、枚举的使用
 * 1.枚举的理解:类的对象是有限个,确定的,我们称之为枚举类
 * 2.如果枚举类只有一个对象,则可以作为单例模式的实现方式。
 * 二、如何定义枚举类
 * 方式一:JDK5.0之前,自定义枚举类
 * 方式二:JDK5.0时候,可以使用enum关键字定义枚举类
 */
//方式一:JDK5.0之前,自定义枚举类
class Season{
   //1.声明Season对象的属性private final修饰
   private final String seasonName;
   private final String seasonDesc;

   //2.私有化的构造器
   private  Season(String seasonName,String seasonDesc){
      this.seasonDesc=seasonDesc;
      this.seasonName=seasonName;
   }
   //3.提供当前枚举类的多个对象
   public static final Season SPRING = new Season("春天","春暖花开");
   public static final Season SUMMER = new Season("夏天","夏日炎炎");
   public static final Season AUTUMN = new Season("秋天","秋高气爽");
   public static final Season WINNER = new Season("冬天","冰天雪地");

   //4.其他诉求:获取枚举类对象的属性
   public String getSeasonName() {
      return seasonName;
   }

   public String getSeasonDesc() {
      return seasonDesc;
   }

   //Tostring
   @Override
   public String toString() {
      return "Season{" +
         "seasonName='" + seasonName + '\'' +
         ", seasonDesc='" + seasonDesc + '\'' +
         '}';
   }

Enum关键字
//方式二:JDK5.0时候,可以使用enum关键字定义枚举类
interface InFo{
   void show();
}
enum Season1 implements InFo{
   //3.提供当前枚举类的多个对象,多个对象之间用","隔开,末尾用";"
   SPRING("春天","春暖花开"){
      @Override
      public void show() {
         System.out.println("夏天来了");
      }
   },
   SUMMER("夏天","夏日炎炎"){
      @Override
      public void show() {
         System.out.println("夏天来了");
      }
   },
   AUTUMN("秋天","秋高气爽"){
      @Override
      public void show() {
         System.out.println("秋天来了");
      }
   },
   WINTER("冬天","冰天雪地"){
      @Override
      public void show() {
         System.out.println("冬天来了");
      }
   };

   //1.声明Season对象的属性private final修饰
   private final String seasonName;
   private final String seasonDesc;

   //2.私有化的构造器
   private  Season1(String seasonName,String seasonDesc){
      this.seasonDesc=seasonDesc;
      this.seasonName=seasonName;
   }
   //4.其他诉求:获取枚举类对象的属性
   public String getSeasonName() {
      return seasonName;
   }

   public String getSeasonDesc() {
      return seasonDesc;
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值