Java枚举

java枚举

枚举类:类的对象只有限个、确定个
特殊的如果只有一个对象,就是单例模式
当需要定义一组常量时,强烈建议使用枚举类

jdk5.0之前 自定义枚举类
jdk5.0之后 enum定义

自定义枚举类

class Season{
    private final String seasonName;
    private final String seasonDesc;
    
    private Season(String seasonName,String seasonDesc){
    this.seasonName = seasonName;
    this.seasonDesc = seasonDesc;
    }
    
  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 WINTER = new Season("冬天","冰天雪地");
  
  public String getSeasonName(){
  return  seasonName;
  }
  
  public String getSeasonDesc(){
  return  seasonDesc;
  }
  
}

enum枚举类 父类java.lang.Enum

enum SeasonEnum{
SPRING("春天","春暖花开"),SUMMER("夏天","夏日炎炎"),AUTUMN(("秋天","秋高气爽"),WINTER("冬天","冰天雪地");

    private final String seasonName;
    private final String seasonDesc;
    
    private Season(String seasonName,String seasonDesc){
    this.seasonName = seasonName;
    this.seasonDesc = seasonDesc;
    }
    
 public String getSeasonName(){
  return  seasonName;
  }
  
  public String getSeasonDesc(){
  return  seasonDesc;
  }
}

Enum类常用方法

values()方法:返回枚举类型的对象数组,该方法可以方便的遍历所有的枚举值。
Season[] ss = Season.values(); //返回 SPRING,SUMMER...
valueOf(String str)方法:可以把一个字符串转化为枚举对象。要求字符串必须是枚举对象对应名
toString方法:返回当前枚举对象对应名

Enum实现接口

情况一:实现接口,直接重写方法
情况二: 实现接口,对每个枚举对象都实现自己的重写方法

posted @ 2021-01-13 13:02  DragonK  阅读(59)  评论(0)    收藏  举报