如果一个类的对象有限而且固定的,比如季节类,它只有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()); }}输出结果:
女
新闻热点
疑难解答