1、枚举
枚举的创建:enum 枚举名{}
枚举的作用:限定取值范围
枚举的特性:
1、枚举是一个特殊的类。抽象类
2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。通过匿名内部类实例化的一个静态对象。
3、与Java中的普通类一样,在声明枚举类时,也可以声明属性、方法、构造函数,但枚举类的构造函数必须为私有。
4、如果枚举中只有枚举值,可以不用结束。如果有了其他成员,必须结束枚举值。
5、枚举中可以有抽象方法。
public class Demo6 {
public static void main(String[] args) {
AbsTest t=AbsTest.t;
}
}
abstract class AbsTest{
public int i; //声明一个属性
public AbsTest(int i){
//构造方法 this.i=i;
}
//下面的代码是创建一个AbsTest对象,但是它是一个抽象类,不能实例化,使用了匿名内部类来实例化。
public static final AbsTest t=new AbsTest(1){
public void show(){
System.out.println("ok");
}
};
//抽象方法
public abstract void show();
}
对应的枚举
enum EnumDemo2{
A(1){
public void print() {
}
},B(2){
public void print() {
}
},C(3){
public void print() {
}
} ; //枚举值
public int i; //成员属性
//枚举可以有构造方法.
private EnumDemo2(int i){
this.i=i;
}
//枚举中的构造方法的权限修饰符只能是private
//成员方法
public void show(){}
//抽象方法
public abstract void print();
}