枚举一种特殊的类,一般用来定义一组常量,每个常量之间用逗号分开,最后以分号结尾。
常量中有的属性需要一般需要定义成 final 常量,然后生成 getter 函数和构造函数。
下面是 Animal 枚举:
public enum Animal { Dog("dog","littleDog"), Cat("cat","littleCat"); public String getName() { return name; } public String getMessage() { return message; } private String name; private String message; Animal(String name, String message) { this.name=name; this.message=message; } }测试:
public class Test { public static void main(String[] args) { Animal aniamal=Animal.Cat; //枚举对象 System.out.println("animal:"+aniamal); //对象Cat的字符串 System.out.println("aniamal.name():"+aniamal.name()); //常量中的name属性 System.out.println("aniamal.getName():"+aniamal.getName()); //常量中的message属性 System.out.println("aniamal.getMessage():"+aniamal.getMessage()); //枚举常量,对象 System.out.println("Animal.valueOf(\"Cat\"): "+Animal.valueOf("Cat")); //枚举常量,对象 for (Animal a:Animal.values()){ System.out.println("values:"+a); } } }运行结果:
个人博客:Java Enum