------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
枚举
一、枚举的概念
一些程序在运行时,他需要的数据不能是任意的,而必须是一定范围内的值,jdk5以前采用自定义类来解决,jdk5以后可以直接采用枚举解决。
二、枚举的使用
可以使用enum关键字定义一个枚举类。
代码如下:
enum Grade
{
A,B,C,D,E;//相当于枚举类的对象
}
如上定义后,如果想传递Grade类型的值,取值范围就只能在A~E之间。
三、枚举的构造函数、方法和字段。
如果想在获得枚举值的同时,获得该枚举值所对应的其他信息,我们可以给枚举值封装构造函数、方法和字段。
代码如下:
enum Grade
{
//当枚举类拥有了有参的构造函数时,枚举对象必须传递一个参数。
A("11"),B("22"),C("33"),D("44"),E("55");
private String value;//封装每个对象所对应的信息
private Grade(String value)
{
this.value=value;
}
public String getValue()
{
return this.value;
}
}
三、带抽象方法的枚举
代码如下:
enum Grade
{
A("11"){
public String localeValue(){ //实现抽象方法
return "优";
}
}
,B("22"){
public String localeValue(){ //实现抽象方法
return "良";
}
}
,C("33"){
public String localeValue(){ //实现抽象方法
return "一般";
}
}
,D("44"){
public String localeValue(){ //实现抽象方法
return "差";
}
}
,E("55");{
public String localeValue(){ //实现抽象方法
return "不及格";
}
}
private String value;
private Grade(String value)
{
this.value=value;
}
public String getValue()
{
return this.value;
}
public abstract String localeValue();//定义抽象方法
<span style="background-color: inherit; font-family: 微软雅黑; "> }</span>