Java基础-第二节-枚举
•JDK1.5之后可以借助enum关键字定义枚举类型,语法结构如下:
[public] enum 枚举名称 [implements 接口列表] {
枚举对象1[,枚举对象2] [,…];
[成员变量1;]
[成员变量2;]
[…]
[(静态或非静态)代码块
[构造方法1]
[构造方法2]
[…]
[普通方法1]
[普通方法2]
[…]
[抽象方法1]
[抽象方法2]
[…]
}
public enum Color {
RED(1, "红色"), GREEN(2, "绿色"), BLUE(3, "蓝色");
private int value;
private String label;
private Color(int value, String label) {
this.value = value;
this.label = label;
}
public int getValue() {
return value;
}
public String getLabel() {
return label;
}
}
可以在直接在枚举中定义抽象对象 此时每个枚举对象需要实现该抽象方法,如下示例
enum Color {
RED {
public String getLabel() {
return "红颜色";
}
},
GREEN {
public String getLabel() {
return "绿颜色";
}
};
public abstract String getLabel();
}
public class Test {
public static void main(String[] args) {
for (Color color : Color.values()) {
String label = color.getLabel();
System.out.println(label);
}
}
}
•枚举名词.枚举对像:获取某个指定的枚举对象,如下例:
static T[] values():获取自定义枚举中所有枚举对象,如下例
•switch中可以使用枚举类型,如下示例:
•Enum类是一个抽象类,该类是Java 语言枚举类型的父类,即enum关键字自定义的枚举类型相当于定义一个继承java.lang.Enum抽象类的子类。
•Enum类构造方法:
Øprotected Enum(String name, int ordinal) :该构造方法接收两个参数,一个表示枚举的名字,另外一个表示枚举的序号;