一、枚举类就是class而且是一个不可被继承的final class,其枚举值都是public static final的。 java
二、既然枚举类是class其就会有构造、方法、数据域。可是枚举类的构造器有很大不一样:首先,构造器只是在构造枚举值时使用;其次,构造器是private的,不容许为public(这样能够保证外部代码没法新构造枚举类的实例。这也是彻底符合情理的,由于咱们知道枚举值是public static final的常量而已。 但枚举类的方法和数据域能够容许外部访问)。 数组
三、全部枚举类都继承了Enum的方法,下面咱们详细介绍这些方法。
(1) ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。
(2) compareTo()方法: Enum实现了java.lang.Comparable接口,所以能够比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。固然,前提是两个枚举值必须属于同一个枚举类,不然会抛出ClassCastException()异常。
(3) values()方法: 静态方法,返回一个包含所有枚举值的数组。
(4) toString()方法: 返回枚举常量的名称。
(5) valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。
(6) equals()方法: 比较两个枚举类对象的引用。 spa
四、枚举类能够在switch语句中使用。 对象