Java枚举
定义枚举类型的语法结构:
示例1:
public enum Color {
Red,GREEN;//定义两个枚举对象,此时调用无参构造方法。也可以写成:RED(),GREEN();
}
示例2:
public enum Color {
Red(1,"红色"),GREEN(2,"绿色");//调用有参构造方法生成两个枚举对象
private int value;
private String name;
//有参构造方法
private Color(int value,String name) {
this.value = value;
this.name = name();
}
public int getValue() {
return value;
}
public String getName() {
return name;
}
}
示例3:
public enum Color {
Red {
@Override
public String getLabel() {
return "红色";
}
},GREEN {
@Override
public String getLabel() {
return "绿色";
}
};//当枚举定义抽象方法时,枚举对象必须实现所有的抽象方法
public abstract String getLabel();
}
示例4:
public enum Color {
Red,GREEN;
}
class Test{
public static void main(String[] args) {
Color [] colors = Color.values();//values()方法用于获取枚举类型Color中所有的对象
for (Color color : colors) {
System.out.println(color);
}
}
}
示例4:
public enum Color {
RED,GREEN,BLUE;
public static void print(Color color) {
switch (color) { //枚举类型可以用于switch中
case RED:
System.out.println("红色");
break;
case GREEN:
System.out.println("绿色");
break;
case BLUE:
System.out.println("蓝色");
break;
default:
System.out.println("未知颜色");
break;
}
}
}
public class Test {
public static void main(String[] args) {
Color [] colors = Color.values();//values()方法用于获取枚举类型Color中所有的对象
for (Color color : colors) {
Color.print(color);
}
}
}