枚举是一种特殊形式的java类
枚举的构造函数必须是私有的 private
枚举也可以实现接口和继承抽象类
当枚举中只有一个枚举值的时候没相当于一个单态设计模式使用
例:
//测试方法
@Test
public void test(){
print(Grade.B);
print(Grades.A);
}
//输入方法
public void print(Grade g){
System.out.println(g.getValue());
}
public void print(Grades gs){
System.out.println(gs.getValue());
}
/**
* 使用传统的方法
* @author Administrator
*
*/
static class Grade{
String value;
public Grade(String value){
this.value = value;
}
public static final Grade A = new Grade("100-90");
public static final Grade B = new Grade("89-80");
public static final Grade C = new Grade("79-70");
public static final Grade D = new Grade("69-60");
public static final Grade E = new Grade("59-0");
public String getValue(){
return value;
}
}
/**
* 使用枚举
*/
enum Grades{
A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");//此处就相当于是实例化带参数的构造方法
String value ;
private Grades(String value){
this.value = value;
};
public String getValue(){
return value;
}
}