枚举类

Posted zawjdbb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举类相关的知识,希望对你有一定的参考价值。

用enum关键字定义枚举类,地位与class interface相同,有成员变量,方法,构造器,可以实现多个接口

一个java源文件只能有一个public枚举类,且必须名字相同

与普通类区别:

  可以实现多个接口,但默认继承java.lang.Enum类,而不是Object类,所以不能显式的继承其他父类。java.lang.Enum实现了java.lang.Serializable和java.lang.Comparable两个接口

  使用enum定义,非抽象的枚举类会默认使用final修饰,所以不能派生子类

  枚举类的构造器只能用private修饰,且默认指定private

  枚举类的所有实例必须在枚举类的第一行显式的列出,否则这个枚举类不能产生实例,这些实例系统自动添加public static final修饰

  枚举类默认提供一个values()方法,用来遍历所有枚举值

public enum Season{

  SPRING,SUMMER,FALL,WINTER;//四个实例,switch case可以直接使用

  public String s;

}

使用枚举值:for(Season s : Season.values()){....}

使用成员:通过Enum的valueOf()方法获取指定枚举值创建实例:Season sea = Enum.valueOf(Season.class,"SUMMER")

  然后通过实例调用成员:sea.s

  不能通过new创建枚举类对象

实现接口:实例后面跟{...}来实现抽象方法

以上是关于枚举类的主要内容,如果未能解决你的问题,请参考以下文章

枚举类

枚举类

枚举类的使用

枚举类

枚举

java中的枚举类