您的位置:首页 > 编程语言 > Java开发

java学习之枚举类

2013-02-01 09:51 239 查看
什么时候用到枚举类?-- 当取值是某个范围之一的时候,这时候可以使用枚举。

枚举怎么定义? -- 跟定义类一样,只是把class改成enum ,如 public enum Season{}

与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的

枚举值就相当于实例变量。

public enum Grade {
A("A","90-100"),B("B","89-90"),C("C","79-80"),D("D","<60");//声明了属性
private String tip;
private String desc;
private Grade(String tip,String desc){   //构造方法,私有
this.tip = tip;
this.desc = desc;
}
public String getTip() {
return tip;
}
public String getDesc() {
return desc;
}
}

枚举类与普通一致,可以继承或实现,如果有抽像方法的话,可以利用每个枚举值以匿名内部类的方式去实现

public enum WeekDay {
Mon{
public void show() {
System.out.println("星期1");
}
},Tue {
public void show() {
System.out.println("星期2");
}
},Wed {
public void show() {
System.out.println("星期3");
}
},Thu {
public void show() {
System.out.println("星期4");
}
};
public abstract void show();
}

public class Demo {
public static void main(String[] args) {
WeekDay w = WeekDay.Thu; //不要new WeekDay
w.show();
}
}

上面的也可以用带属性的方法实现

public enum WeekDay {
Mon("星期一"),Tue("星期二");
private String tip;
private WeekDay(String tip){
this.tip = tip;
}
public String getTip() {
return tip;
}
}

public class Demo3 {
public static void main(String[] args) {
WeekDay w = WeekDay.Mon;
System.out.println(w.getTip());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: