Java 枚举类

枚举类
实例有限且固定的类叫做枚举类。关键字enum(与class、interface地位相同)定义枚举类。
1、枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承java.lang.Enum类,而不是Object类
2、使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类
3、枚举类的构造器只能使用private访问控制符,若省略访问控制符,默认private修饰
4、枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远不能产生实例。
列出这些实例时,系统会自动添加public static final修饰,无需显式添加。
5、枚举类应该设计成不可变类,枚举类的Field都使用private final修饰
6、枚举类实现接口和普通类一样,实现接口中的抽象方法,则每个枚举值在调用该方法表现一致,如果需要
每个枚举值在调用该方法时表现不同,则可以让每个枚举值分别来实现该方法(匿名内部类)。
7、枚举类定义抽象方法时不能使用abstract关键字将枚举类定义成抽象类(系统会自动添加abstract关键字)
但是枚举类要显式创建枚举值,而不是做为父类,所以定义每个枚举值时必须为抽象方法提供实现(匿名内部类)。

你可能感兴趣的:(java)