枚举类型是指由一组固定常量组成合法值的类型
java中枚举本质上时int值
枚举本质上时类
枚举类型还允许添加任意的方法和域,并实现任意的接口。
废话不多,这里介绍两种常见的用法:
(一)特定常量的数据
为了将数据与枚举常量关联起来,得声明实例域,并编写一个带有数据并将数据保存在域中的构造器
package com.zhanghao.test;
public enum DataEnum {
BEIJING(1,"北京"),
TIANJIN(2,"天津");
private int code;
private String city;
DataEnum(int code, String city){
this.code = code;
this.city = city;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public static void main(String[] args) {
System.out.println(DataEnum.BEIJING);
System.out.println(DataEnum.BEIJING.getCode());
System.out.println(DataEnum.BEIJING.getCity());
System.out.println(DataEnum.TIANJIN);
System.out.println(DataEnum.TIANJIN.getCode());
System.out.println(DataEnum.TIANJIN.getCity());
}
}
(二)特定常量的实现方法
在枚举类型中声明一个抽象的方法,并在特定于常量的类主体中,用具体的方法覆盖每个常量的抽象方法
package com.zhanghao.test;
public enum MethodEnum {
BEIJING {
void printCity() {
System.out.println("北京");
}
},
TIANJIN {
void printCity() {
System.out.println("天津");
}
};
abstract void printCity();
public static void main(String[] args) {
MethodEnum.BEIJING.printCity();
MethodEnum.TIANJIN.printCity();
}
}