Java 中的枚举,是和类(class),接口(interface)平级 的概念,在用intellij idea 创建class文件的时候,可以看见:
换句话说,我们可以把枚举Enum, 理解成我们创建的一个类型。
public enum TestENum {
chi,he,wan,le
}
枚举中包含的成员,类似于类class 中定义的静态常量对象,类似于如下代码:
public class TestENum{
public static final TestENum chi = new TestENum();
public static final TestENum he= new TestENum();
public static final TestENum wan= new TestENum();
public static final TestENum le= new TestENum();
}
我们能看到 TestENum类型能够直接调用chi,he,wan,le这几个成员,并且这几个成员的返回类型为TestENum
既然枚举中的元素是枚举类型的静态常量对象,那么我们也能够想到,可以利用构造函数为其赋值。
public enum TestENum {
chi("吃"),he("喝"),wan("玩"),le("乐");
private String s;
//构造函数
TestENum(String s){
this.s = s;
}
String getName(){
return s;
}
}
我们定义了构造函数,还定义了一个方法获得TestENum类型的对象的String成员s的值。
我们就像使用普通的class类型的对象一样使用枚举类型吧。
public class Main {
public static void main(String[]args){
System.out.println(TestENum.chi.getName());
System.out.println(TestENum.he.getName());
System.out.println(TestENum.wan.getName());
System.out.println(TestENum.le.getName());
}
}
返回值:
吃
喝
玩
乐