java 枚举, 温故而知新…
interface Inter {
public abstract void interFn();
}
abstract class AbsClass {
public abstract void absClassFn();
}
enum DemoEnum implements Inter {
ONE("1","这是1"){
@Override
public void absFn() {
System.out.println("重写枚举类中的抽象方法by ONE");
}
},
TWO("2","这是2"){
@Override
public void absFn() {
System.out.println("重写枚举类中的抽象方法by TWO");
}
},
THREE("3","这是3"){
@Override
public void absFn() {
System.out.println("重写枚举类中的抽象方法by THREE");
}
};
private String label;
private String desc;
private DemoEnum(String label, String desc) {
this.label = label;
this.desc = desc;
}
public String getLabel() {
return label;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "DemoEnum{" + "label='" + label + '\'' + ", desc='" + desc + '\'' + '}';
}
@Override
public void interFn() {
System.out.println("枚举类实现了接口的方法.");
}
public abstract void absFn();
}
public class TestEnum {
public static void main(String[] args) {
DemoEnum one1 = DemoEnum.ONE;
DemoEnum one2 = Enum.valueOf(DemoEnum.class, "ONE");
DemoEnum one3 = DemoEnum.valueOf("ONE");
one1.interFn();
one1.absFn();
System.out.println("枚举类实例的getLabel==>" + one1.getLabel());
System.out.println("枚举类实例的getDesc==>" + one1.getDesc());
System.out.println("枚举类实例的toString==>" + one1.toString());
System.out.println("=======================================");
for (DemoEnum en : DemoEnum.values()) {
System.out.println("名字==>" + en.name() + ",序号==>" + en.ordinal());
}
}
}