枚举类的使用
- 枚举类的理解:类的对象只有有限个,确定的
- 当需要定义一组常量时,强烈建议使用枚举类
- 若枚举只有一个对象, 则可以作为一种单例模式的实现方式。
自定义枚举类
-
步骤
- 声明Season对象的属性,private final修饰
- 私有化类的构造器,并给对象属性赋值
- 提供当前枚举类的多个对象: public static final的
-
举例
package com.yicurtain.enumClass; public class SeasonTest { public static void main(String[] args) { Season spring = Season.spring; System.out.println(spring); } } class Season{ //1.声明Season对象的属性,private final修饰 private final String seasonName; private final String seasonDesc; //2.私有化类的构造器,并给对象属性赋值 private Season(String seasonName,String seasonDesc){ this.seasonName=seasonName; this.seasonDesc=seasonDesc; } //3.提供当前枚举类的多个对象: public static final的 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("冬天","冰天雪地"); //4.其他述求 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } //4.其他述求 @Override public String toString() { return "Season{" + "seasonName='" + seasonName + '\'' + ", seasonDesc='" + seasonDesc + '\'' + '}'; } }
使用enum关键字定义枚举类
-
举例
package com.yicurtain.enumClass; //使用enum定义枚举类,该枚举类继承于java.lang.Enum public class SeasonTest1 { public static void main(String[] args) { Season1 summer = Season1.summer; System.out.println(summer); } } enum Season1{ //1.提供枚举类的对象,注意:多个对象之间用“,”隔开,最后一个对象以";"结束。 spring("春天","春暖花开"), summer("夏天","夏日炎炎"), autumn("秋天","秋高气爽"), winter("冬天","冰天雪地"); //2.声明Season对象的属性,private final修饰 private final String seasonName; private final String seasonDesc; //3.私有化类的构造器,并给对象属性赋值 private Season1(String seasonName,String seasonDesc){ this.seasonName=seasonName; this.seasonDesc=seasonDesc; } //4.其他述求 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } //4.其他述求 // @Override // public String toString() { // return "Season1{" + // "seasonName='" + seasonName + '\'' + // ", seasonDesc='" + seasonDesc + '\'' + // '}'; // } }
Enum类中的常用方法
- values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的
枚举值。 - valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符
串必须是枚举类对象的“名字”。如不是,会有运行时异常:
IllegalArgumentException。 - toString():返回当前枚举类对象常量的名称
使用enum关键字定义的枚举类实现接口的情况
- 实现接口,在enum类中实现抽样方法
- 让枚举类的对象分别实现接口中的抽象方法
浙公网安备 33010602011771号