今天要写的只是一个简单的例子:
这个是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、枚举类可以有抽象方法,但必须在元素列表声明中实现这些方法。此外,枚举类中还可以声明一些普通的成员变量和方法,如上例所示。