枚举类型

应用“enum”关键字来声明一个枚举类型,声明方法为:

public enum enumlist{  //定义枚举类型成员

  成员1,成员2,成员3,……成员n

}

定义好枚举类型变量后,在程序中调用的方法为:

enumlist list=enumlist.成员n;

 

示例代码:

package cn.cjj.basic;

import org.junit.Test;

public class demo3_meiju {
//如何定义枚举的构造函数、方法和字段,去封装更多的信息
/*@Test
public void test(){
print(Grade.B);
}
public void print(Grade g){
String value2=g.getValue();
System.out.println(value2);
}
//枚举,相当于定义了一个类
enum Grade{
A("100-90"),
B("89-80"),
C("79-70"),
D("69-60"),
E("59-0");

private String value;//封装每个对象对应的分数
private Grade(String value){
this.value=value;
}

public String getValue(){
return this.value;
}
}
*/
//带抽象方法的枚举
@Test
public void test2(){
//获取枚举类的类名
System.out.println(Grade2.C.name());
//获取枚举类的位置
System.out.println(Grade2.C.ordinal());
//获取字符串枚举,监测传的类是否是自己写的枚举值
String str="B";
Grade2 g=Grade2.valueOf(str);
System.out.println(g);
//返回所有的枚举值,返回的是数组
Grade2 gs[]=Grade2.values();
for(Grade2 g1:gs){
System.out.println(g1);
}
print2(Grade2.B);
}
public void print2(Grade2 g){
String value=g.localValue();
System.out.println(value);
}
enum Grade2{
A("100-90"){
public String localValue(){
return "优";
}
},
B("89-80"){
public String localValue(){
return "优";
}
},
C("79-70"){
public String localValue(){
return "优";
}
},
D("69-60"){
public String localValue(){
return "优";
}
},
E("59-0"){
public String localValue(){
return "优";
}
};

private String value;//封装每个对象对应的分数
private Grade2(String value){
this.value=value;
}

public String getValue(){
return this.value;
}

public abstract String localValue();
}
}

posted @ 2015-05-03 22:24  JJ_Chen  阅读(319)  评论(0编辑  收藏  举报