- enum 声明的枚举类相当于一个final类,所以无法被继承。同时也不能继承其他类
因为 enum 已经继承了 java.lang.Enum(java是单一继承) - enum 相当于一个 class,它们都可以定义一些属性和方法。
- 枚举类是class,在枚举类型中可以有构造器,方法和数据域.
- 枚举值都是public static final的.(静态常量)
public enum Sex {
MALE("男",0), FEMALE("女", 1);
private final int index;//注意此处如果不用final修饰,同时设置了set方法,index值可以改变,那么这个枚举值就不再是常量了
private final String des;
private Sex(String des, int index) {
this.index = index;
this.des = des;
}
public String getDescription() {
return this.des;
}
public int getOrdinal(){
return this.index;
}
}
/*事实上,Enum类中已有相关构造方法和属性,Sex已经继承了这些属性和方法
public abstract class Enum<E extends Enum<E>>
implements Comparable<E>, Serializable {
private final String name;
private final int ordinal;
protected Enum(String name, int ordinal) {
this.name = name;
this.ordinal = ordinal;
}
}
*/