枚举定义
枚举是java.lang.Enum的子类,也就是说,自己写的枚举类,就算没有显示的继承Enum但是其默认继承了这个类。
枚举的具体用法
①switch…catch语句
public enum TestEnum {
RED,BLACK,GREEN,WHITE;
public static void main(String[] args) {
TestEnum testEnum = TestEnum.BLACK;
switch (testEnum){
case RED:
System.out.println("红色");
break;
case BLACK:
System.out.println("黑色");
break;
case GREEN:
System.out.println("绿色");
break;
case WHITE:
System.out.println("白色");
break;
default:
System.out.println("不存在这个颜色");
break;
}
}
}
②Enum的用法
```java
TestEnum[] testEnum1 = TestEnum.values();//以数组形式返回枚举的所有成员
for (int i = 0;i<testEnum1.length;i++){
TestEnum testEnum2 = testEnum1[i];
System.out.println(testEnum2);
System.out.println(testEnum2.ordinal());//获取元素索引位置
}
System.out.println(TestEnum.valueOf("BLACK"));//找到指定元素并打印
注:如果用小写来检索是否有该指定元素
这就说明枚举对大小写敏感
③枚举的构造方法默认为私有的
④枚举优缺点
优点:枚举常量更安全;枚举具有内置方法,代码更优雅
缺点:不可继承,无法扩展
⑤反射是否可以调用枚举吗?
答案是否定的,反射可以调用任何类和类中的成员函数,变量,方法和构造方法。但是不能调用枚举