1.所有的对象都是这个类的pubic static final;
2.构造方法只能是私有,枚举在此类外不能新建;
3.toString()方法如果不重写,输出就是变量名;
4.values()枚举类静态方法,可以列举出所有这个枚举类类型的对象;
5.枚举是一个类,只能实现接口,不能继承别的类,有自己的属性和方法;
6.枚举是一个特殊的类,自己的属性一定出现在GOOD/BAD/NORMAl等变量名之后
package StaticTest;
//枚举的举例public enum Test2 {
GOOD(1, "好学生"), BAD(2, "坏学生"), NORMAL(3, "中等学生");
private final int condition;
private final String name;
private Test2(int condition, String name) {
this.condition = condition;
this.name = name;
}
public int getCondition() {
return condition;
}
public String getName() {
return name;
}
//重写toString(方法,如果不重写,输出的值就只是GOOD)
public String toString() {
return "12345" + name;
}
public static String getNameByCondition(int condition) {
for (Test2 enum1 : values()) {
if (condition == enum1.condition) {
return enum1.getName();
}
}
throw new IllegalArgumentException("没有这样的序号:" + condition
+ ", in Test2");
}
public static void main(String[] args) {
System.out.println(getNameByCondition(1));
System.out.println(getNameByCondition(2));
System.out.println(getNameByCondition(3));
//System.out.println(getNameByCondition(4));//验证没有这样的标号抛出异常
System.out.println(GOOD);//输出GOOD的值
}
}