构造器私有化
本类内部创建一组对象[例:春夏秋冬]
对外暴露对象(通过为对象添加public final static 修饰符)
解释:public 保证外部可以访问;static 保证外部不需要创建对象也可以访问; final 保证对象不被修改;
可以提供get方法,但是不要提供 set
具体实现:
使用enum替代class
直接创建对象
// 用
SPRING ("春天","温暖");
// 代替
public static final Season SPRING = new Seasonn("春天","温暖")
如果有多个枚举对象,使用,间隔
SPRING ("春天","温暖"),SPRING ("夏","炎热"),SPRING ("秋天","凉爽"),SPRING ("冬天","寒冷");
如果使用enum来实现枚举,要求将定义常量对象写在前面
- 当我们使用 enum 关键字开发一个枚举类时,默认会继承 Enum 类, 而且是一个 final 类传统的 public static final Season2 SPRING = new Season2(“春天”, “温暖”); 简化成 SPRING(“春天”, “温暖”), 这里必 须知道,它调用的是哪个构造器.如果使用无参构造器 创建 枚举对象,则实参列表和小括号都可以省略
- toString:Enum 类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息name:返回当前枚举对象名(常量名),子类中不能重写ordinal:返回当前对象的位置号,默认从 0 开始values:返回当前枚举类中所有的常量valueOf:将字符串转换成枚举对象,要求字符串必须 为已有的常量名,否则报异常!compareTo:比较两个枚举常量,比较的就是编号!
使用 enum 关键字后,就不能再继承其它类了,因为 enum 会隐式继承 Enum,而 Java 是单继承机制。
枚举类和普通类一样,可以实现接口。
enum 类名 implements 接口 1,接口 2{}



