枚举一种特殊的类,一般用来定义一组常量,每个常量之间用逗号分开,最后以分号结尾。
常量中有的属性需要一般需要定义成 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