- 枚举类是一种特殊的类,单是和普通的类一样的是都有自己的成员变量、成员方法、构造器(只能使用private访问修饰符修饰)
- 使用enmu定义的枚举类默认继承了java.lang.Enun类并且实现了java.lang.Seriablizable和java.lang.Comparable两个接口
- 枚举类的所有实例(枚举值)必须在枚举类的第一行显式的列出,否则这个枚举值永远不可能产生实例,列出这些实例(枚举值)时,系统会自动添加public static final修饰,无需程序员显示添加
定义一个枚举类
public enum WeekEnum{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}
带有构造方法的
package com.uds.glf;
public enum WeekEnum {
MONDAY("星期一"),FRIDAY("星期五");
private String date;
private WeekEnum(String date){
this.date = date;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
for (WeekEnum week : WeekEnum.values()) {
System.out.println(week.getDate());
}
}
}
包含抽象方法的枚举类
package com.uds.glf;
public enum Operation {
PLUS{
@Override
public double calculate(double x, double y) {
return 0;
}
},
MINUS{
@Override
public double calculate(double x, double y) {
return 0;
}
},
TIMES{
@Override
public double calculate(double x, double y) {
return 0;
}
},
DIVIDE{
@Override
public double calculate(double x, double y) {
return 0;
}
};
public abstract double calculate(double x ,double y);
}