Java枚举类
Java中的枚举类型定义使用enum
关键字,定义时,系统默认继承Enum
抽象类。先来看一下枚举类的使用。
enum Sex {
// 枚举对象必须要在第一行
MAIL("男"), FEMAIL("女");
private String sex;
private Sex(String sex) {
this.sex = sex;
}
public String toString() {
return this.sex;
}
}
public class App {
public static void main(String[] args) {
for (Sex sex : Sex.values()) {
System.out.println(sex);
}
}
}
从以上的代码中,可以得出以下结论:
- 枚举类型以
enum
关键字定义,定义方式和普通类一致 - 枚举对象必须在第一行声明
- 枚举类构造方法必须使用
private
修饰符 - 可以使用枚举类的
values
方法,可以获取所有的枚举对象进行输出 - 枚举类可以和普通类一样定义属性、方法等,甚至是接口、抽象方法
- 枚举对象的定义,比如
MAIL("男"), FEMAIL("女");
可以理解为一个类的实例化,所得到的就是一个实例化的对象,既然是实例化对象,就可以调用构造参数,而构造参数必须在定义枚举类的时候,一并定义了。 - 最简化的枚举定义为
enum Sex {
MAIL, FEMAIL;
}
- 最简化的带构造方法的枚举定义为
enum Sex {
// 枚举必须要在第一行
MAIL("男"), FEMAIL("女");
private String sex;
private Sex(String sex) {
this.sex = sex;
}
}