1、枚举类是个特殊的类
2、枚举值默认的的修饰符是public static final
3、枚举值就是枚举值所属的类的类型,枚举值是指向本类的对象。
4、枚举的构造方法默认的修饰符是private的
5、枚举类可以定义自己的成员变量和成员函数
6、枚举类可以自定义构造方法,但是构造方法的修饰符必须是private
7、枚举类可以存在抽象的方法,但是枚举值必须实现抽象方法。
8、枚举值必须位于枚举类的第一个语句。
enum T {
a(3) {
@Override
void A() {
// TODO Auto-generated method stub
System.out.println("nihaoa");
}
},
b(4) {
@Override
void A() {
// TODO Auto-generated method stub
System.out.println("dbajbh");
}
},
c(5) {
@Override
void A() {
// TODO Auto-generated method stub
System.out.println("hhh");
}
}; // 定义枚举值时实现构造方法与抽象方法,且枚举值必须位于第一句
int h;
private T(int b) { // 构造方法只能private
this.h = b;
}
abstract void A(); // 抽象方法
}
public class EnumT {
public static void main(String[] args) {
T ob = T.a; // 创建枚举对象
switch (ob) {
case a:
System.out.println("我是枚举值a");
break;
default:
System.out.println("这是个实验");
break;
// 当使用sitch语句时,case中无需写T.a,直接对写枚举类中的枚举值
}
}
}