Java笔记(10):枚举类与注解
枚举类
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等等。
自定义枚举类
方式一:通过一般类
- 声明对象的属性:private final修饰
- 私有化类的构造器,并给对象属性初始化
- 提供当前枚举类的多个对象:public static final修饰
- 可选:获取枚举类的属性 getXXX() 或 toString()
例:
1 | class Season{ |
方式二:enum关键字
在jdk5.0以后,枚举类可以使用 enum 关键字来定义,各个常量使用逗号 , 来分割。
枚举跟普通类一样可以用自己的变量、方法和构造函数,构造器只能使用 private 访问修饰符,所以外部无法调用。
枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它。
例:
1 | public class Main { |
out:
1 | Season is created |
Enum类常用方法
我们自定义的枚举类默认继承于java.lang.Enum类,例如默认重写了toString()方法,以及提供了很多常用方法。
-
value():返回枚举类中所有的值(返回一个数组)
1
2
3
4Season[] values = Season.values();
for (Season s : values) {
System.out.println(s);
}out:
1
2
3
4SPRING
SUMMER
FALL
WINTER -
valueOf(String str):返回枚举类中对象名为
str
的对象,如果没有str
为名的枚举类。则抛出错误。1
2Season summer = Season.valueOf("SUMMER");
System.out.println(summer);//out:SUMMER
enum关键词枚举类实现接口
一:枚举类实现接口
1 | enum Season implements Info { |
二:枚举类对象实现接口
1 | enum Season implements Info { |