枚舉主要用于枚舉常量,下面舉個簡單的應用。
比如一個公司有如下幾個部門:
- 研發部:
- 銷售部:
- 财務部:
(其他部門暫時不列舉)
部門的某些資訊相對固定,此時可以考慮使用枚舉來說明;
枚舉類 Depts.java
package myEnum;
public enum Depts {
FINACEDEPT("财務部","負責公司财務"),
DEVELOPDEPT("研發部","負責軟體研發工作"),
SALEDEPT("銷售部","負責公司的銷售工作");
private final String name_cn; //中文名
private final String description; //描述
Depts(String n,String desc){
this.name_cn = n;
this.description = desc;
}
public String getName_cn() {
return name_cn;
}
public String getDescription() {
return description;
}
}
測試類:EnumTest.java
package myEnum;
public class EnumTest {
public static void main(String args[]) {
for (Depts dept : Depts.values()) {
System.out.println(dept + "-" + dept.getName_cn() + "-"
+ dept.getDescription());
}
System.out.println(Depts.DEVELOPDEPT.getDescription());
System.out.println(Depts.DEVELOPDEPT);
}
}
測試結果:
我們還可以為枚舉參加抽象方法,然後讓每個枚舉值實作這個抽象方法。
package myEnum;
public enum Depts {
FINACEDEPT("财務部", "負責公司财務") {
void printInfo() {
System.out.println("最近公司财務資訊不錯");
}
},
DEVELOPDEPT("研發部","負責軟體研發工作") {
void printInfo() {
System.out.println("公司使用Java作為研發工具");
}
},
SALEDEPT("銷售部","負責公司的銷售工作") {
void printInfo() {
System.out.println("公司銷售目标:10000台/年");
}
};
private final String name_cn; //中文名
private final String description; //描述
Depts(String n,String desc){
this.name_cn = n;
this.description = desc;
}
public String getName_cn() {
return name_cn;
}
public String getDescription() {
return description;
}
abstract void printInfo();
}
測試類:
package myEnum;
public class EnumTest {
public static void main(String args[]) {
for (Depts dept : Depts.values()) {
System.out.print(dept);
dept.printInfo();
}
Depts.DEVELOPDEPT.printInfo();
}
}
測試結果: