1.枚举(enum)
1.1 概述
枚举对应英文(enumeration, 简写 enum), 枚举是一组常量的集合。枚举属于一种特殊的类,里面只包含一组有限的特定的对象。
1.2 枚举实现方式
-
- 自定义类实现枚举
-
- 使用 enum 关键字实现枚举
1.3 自定义类实现枚举
1.3.1 概述
-
① 不需要提供 setXxx方法, 因为枚举对象通常为只读。
-
② 对枚举对象/属性使用 final + static 共同修饰, 实现底层优化。
-
③ 枚举对象名通常使用全部大写, 常量的命名规范。
-
④ 枚举对象根据需要, 也可以有多个属性。
public class Season { private String name; private String desc; 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 Season(String name, String desc) { this.name = name; this.desc = desc; } public String getName() { return name; } public String getDesc() { return desc; } @Override public String toString() { return "Season{" + "name='" + name + '\'' + ", desc='" + desc + '\'' + '}'; } } public class Test { public static void main(String[] args) { System.out.println(Season.SPRING); System.out.println(Season.SUMMER); } }
1.3.2 小结
-
- 构造器私有化
-
- 本类内部创建一组对象
-
- 对外暴露对象(通过为对象添加 public final static 修饰)
-
- 可提供 get 方法, 但不提供 set 方法
1.4 enum关键字实现枚举
1.4.1 入门案例
enum Season {
SPRING("春天", "温暖"),
SUMMER("夏天", "炎热"),
AUTUMN("秋天", "凉爽"),
WINTER("冬天", "寒冷");
private String name;