自定义类实现枚举
大约 1 分钟
自定义类实现枚举
枚举的引出
要求:创建季节(Season)对象,请设计并完成 季节是只有四个固定值(春、夏、秋、冬),不能修改,所以需要使用枚举
介绍
- 枚举对应英文(enumeration,简写 enum)
- 枚举是一组常量的集合。
- 可以这样理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象。
实现自定义枚举
- 实现步骤
- 将构造器私有化,防止直接 new
- 去掉 set 相关的方法 防止属性被修改
- 在 EnumerationSon 内部 直接创建固定的对象
- 固定的四个对象优化 可以加 final
- 对外暴露对象(通过为对象添加 public final static 修饰符)
- 可以提供 get 方法,但是不要提供 set
public class Enumeration01 {
public static void main(String[] args) {
System.out.println(EnumerationSon.SPRING);
System.out.println(EnumerationSon.SUMMER);
System.out.println(EnumerationSon.AUTUMN);
System.out.println(EnumerationSon.WINTER);
}
}
// 自定义枚举实现
class EnumerationSon {
private String name;
private String desc;
public static final EnumerationSon SPRING = new EnumerationSon("春天", "好1");
public static final EnumerationSon SUMMER = new EnumerationSon("夏天", "好2");
public static final EnumerationSon AUTUMN = new EnumerationSon("秋天", "好3");
public static final EnumerationSon WINTER = new EnumerationSon("冬天", "好4");
private EnumerationSon(String name, String desc){
this.name = name;
this.desc = desc;
}
public String getDesc() {
return desc;
}
// 输入 to 有提示 直接生成以下代码
@Override
public String toString() {
return "EnumerationSon{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}