Java枚举

来源:互联网 发布:社交网络数据可视化 编辑:程序博客网 时间:2024/05/17 07:26

如果一个类的对象有限而且固定的,比如季节类,它只有4个对象,像这种实例有限而且固定的类,我们在Java中称为枚举类。

枚举类是Java 5新增的,使用enum关键字来定义枚举类,枚举类是一种特殊的类,它一样可以有自己的Field、方法,可以实现一个或者多个接口,也可以定义自己的构造器。在一个Java源文件中最多只能定义一个public访问权限的枚举类。枚举类与普通类的区别有:

1、枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,并不是继承了Object类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。

2、使用enum定义、非抽象的枚举默认会使用final修饰,因此枚举类不能派生子类。

3、枚举类的构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰,如果强制指定访问控制符,则只能指定private修饰符。

4、枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远不能产生实例。列出这些实例时,系统会自动添加public static final修饰,无需程序显式添加。

以下是枚举类的一个范例:

/** * Created by Administrator on 2017/3/7. */enum Gender {    MALE("男"), FEMALE("女");    private final String sex;    private Gender(String sex) {        this.sex = sex;    }    public String getSex() {        return this.sex;    }}public class Main {    public static void main(String[] args) {        System.out.println(Gender.FEMALE.getSex());    }}

输出结果:



0 0