定义:
枚举是指一组固定常量组成合法值的类型
相同的地方
枚举类也是类,同样具有成员变量、成员方法、构造器
例如
public enum Color {
GREEN("绿色"),
BLUE("蓝色"),
RED("红色");
private String color;
Color(String color) {
this.color = color;
}
public String toString() {
return color;
}
}
也可以使用枚举来实现接口
例如
public enum Color implements Palette{
}
不同点
枚举是真正的 final,客户端不允许创建枚举类的实例,也不能对其进行拓展
面默认私有的构造方法,不能用 public 修饰
public enum Week {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY , SUNDAY;
Week(){
.........
}
}
构造器只能使用 private 访问修饰符(且默认为 private),所以无法从外部调用构造器,构造器只在构造枚举值时被调用。这样做可以保证数据的安全性,使枚举值一定是由内部定义的,拒绝外部传入。
枚举类对象的属性不能更改,所以要用private final修饰
网友评论