您的位置:首页 > 其它

带抽象方法的枚举

2014-06-14 22:58 169 查看
import org.junit.Test;

public class Demo {

/**
* 枚举
*/
@Test
public void test() {

print(Grade.B);

}
//测试枚举的常用方法
@Test
public void test2(){

System.out.println(Grade.C.name());
System.out.println(Grade.C.ordinal());

String str = "B";
Grade g = Grade.valueOf(Grade.class, str);
System.out.println(g);

Grade gs[] = Grade.values();
for(Grade g2 : gs){

System.out.println(g2);
}
}

public void print(Grade g) {
String value = g.localeValue();
System.out.println(value);

}

}

//如何定义枚举的构造函数、方法和字段、去封装更多的信息
enum Grade {// class A 100-90 优 B 89-80 良 C 79-70 一般 D 69-60 差 E 59-0 不及格

A("100-90"){

public String localeValue(){
return "优";
}
},
B("89-80"){
public String localeValue(){
return "良";
}
},
C("79-70"){
public String localeValue(){
return "一般 ";
}
},
D("69-60"){
public String localeValue(){
return "差";
}
},
E("59-0"){
public String localeValue(){
return "不及格";
}
};// Object

private String value; // 封装每个对象对应的分数

private Grade(String value) {
this.value = value;
}

public String getValue() {

return this.value;
}

public abstract String localeValue();
}

/*
* class Grade{
*
* private Grade(){}
*
* public static final Grade A = new Grade(); public static final Grade B = new
* Grade(); public static final Grade C = new Grade(); public static final Grade
* D = new Grade(); public static final Grade E = new Grade(); }
*/


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: