简要介绍Java中的枚举类(二)
ce GenderDesc {
public void info();
}
五、包含抽象方法的枚举类,枚举类中对普通方法的使用和普通类一样,这里就只介绍其抽象方法的使用,其实抽象方法跟实现接口是一个道理,这里不多说,看示例:
package com.home;
public enum Gender {
MALE("男") {
// 花括号部分实际上是一个类体部分
public String getInfo() {
return "I am a man";
}
},
FEMALE("女") {
public String getInfo() {
return "I am a woman";
}
};
private final String name;
// 枚举类的构造器只能使用private修饰
private Gender(String name) {
this.name = name;
}
// 只提供getter方法
public String getName() {
return name;
}
// 为枚举类定义一个抽象方法,这个抽象方法由不同枚举值提供不同实现
public abstract String getInfo();
}
注意:上面枚举类中定义了抽象方法,但是,类却没用abstract修饰,这点跟普通类不一样,因为枚举类需要显示创建枚举值,并为抽象方法提供实现,否则会出现编译错误。