今天要寫的只是一個簡單的例子:
這個是MyEnum.java檔案的內容:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package myenum;
/**
*
* @author long
*/
//定義枚舉類
public enum MyEnum
{
LOGIN("login"),REGISTER("register"),LOGOUT("logout"),ONLINECHECK("checkonlie");
private String name;
private MyEnum(String name)
{
this.name = name;
}
}
//或者可以這樣寫這個類:
//public enum MyEnum
//{
//LOGIN,REGISTER,LOGOUT,ONLINECHECK;
//}
===================================================
這個是Main.java檔案的內容:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package myenum;
/**
*
* @author long
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//這裡是枚舉類和switch語句的結合
// MyEnum operate = MyEnum.valueOf("LOGIN");
MyEnum operate = MyEnum.LOGIN;
switch (operate)
{
case LOGIN:
System.out.println("this is login");
break;
case REGISTER:
System.out.println("this is register");
break;
case LOGOUT:
System.out.println("this is logout");
break;
case ONLINECHECK:
System.out.println("this is onlinecheck");
break;
default:
System.out.println("there is no enum value!");
break;
}
//一下兩種方法得出的值是一樣的
System.out.println(MyEnum.REGISTER.toString());
System.out.println(MyEnum.valueOf("LOGOUT"));
}
}
=============
使用枚舉類有幾個要注意得地方:
1、枚舉元素列表必須寫在枚舉類的最前面,每個元素之間用逗號隔開,元素列表結束位置後若沒有其他內容,則可以不寫分號,否則必須要寫。
2、枚舉類中所有的構造器是private的,外部程式不能夠建立枚舉類的執行個體。枚舉類中可以顯式的指明調用哪個構建器,如MEMBER和MEMBER()這兩種元素列表聲明是等價的,都是調用預設的構建器,而MEMBER("普通會員")則是顯式的指明程式調用第二個構建器.
3、枚舉類可以有抽象方法,但必須在元素列表聲明中實現這些方法。此外,枚舉類中還可以聲明一些普通的成員變數和方法,如上例所示。