需求:今天遇到一个问题,就是返回某些固定的int值,要用到枚举。
下面开始介绍:
- 无参构造方法的枚举
enum Color{ YELLOW,BLUE,RED }
解析:首先Color本身是一个枚举,里面的三个参数YELLOW,BLUE,RED。这三个变量都是Color的枚举。
这句话的意思就是:YELLOW、BLUE和RED都是枚举Color。
现在这么简单的枚举,好像没有什么作用,下面就要用到有参构造方法了。
2.有参构造方法
public class EnumDemo {
enum Color {
YELLOW("小黄"), RED("小红"), BLUE("小兰");//成员变量都是Color的枚举
public String name;
private Color(String name) {
this.name = name;
//枚举的成员变量New的时候,调用此构造方法。
//构造方法只能是私有的
}
}
void getvalues() {
Color[] values = Color.values();// 得到该枚举中所有枚举类变量
} public static void main(String[] args) {
String name = Color.YELLOW.name;
System.out.println("小黄的枚举类的NAME:" + name);
}
}
解析:枚举的构造方法都是私有的,不允许外界new。但是构造方法是什么用处呢?
Color内部的YELLOW等枚举都是public static finla 修饰的。都是通过调用Color的构造方法new出来的。
那就是YELLOW这种变量来赋值的,参看上面的代码。