了解了java结构中的类,变量,方法,那枚举是什么呢?枚举是一种特殊的类,它定义了一系列有关联的常量,代表一种特定的含义。
枚举和类的区别
- 枚举(enum)和普通的类一样,有成员变量,成员方法,构造器。
- 但枚举是静态不可变更的,所有的枚举值都是 public static final 的,非抽象的枚举类不能再派生子类。
- 构造方法是私有的,由private修饰,防止enum被拓展。
- 类中包含自身的常量对象。
例子:
public enum Day {
MORNING("上午"), AFTERNOON("下午"), EVENING("晚上");
private String period;
Day(String period) {
this.period = period;
}
public void setPeriod(String peroid) {
this.period = period;
}
public String getPeriod() {
return this.period;
}
@Override
public String toString() {
return period;
}
}
枚举相比于常量来说优势:
- 枚举值由固定名称区分,结构清晰
- 内容在声明时就已经区分
- 拓展性好,比如:EnumMap, EnumSet 的支持,以及 iterable 等接口的支持
网友评论