枚举类
一、概述
1.介绍
枚举是一种特殊的类。
2.格式
修饰符 enum 枚举类名 {
名称1, 名称2,...;
其他成员...
}
示例:
public enum A {
X,Y,Z;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3.特点
-
每个枚举类中的名称都是静态常量,记住的都是枚举类的一个对象
-
构造器私有,不能对外创建对象
-
最终类,不可被继承
-
继承Enum类
继承的API
A[] as = A.values(); //拿到全部对象 A a = A.valueOf("Y"); //拿到特定对象 System.out.println(a.name()); //获取对象的名字 System.out.println(a.ordinal()); //获取对象的索引
4.拓展:抽象枚举类
public enum B {
X(){
@Override
public void go() {
}
},Y("张三"){
@Override
public void go() {
System.out.println(this.getName());
}
};
private String name;
//无参构造器
B(){
}
//有参构造器
B(String name){
this.name = name;
}
public abstract void go();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
5.单例枚举类
public enum C {
C;
}
二、应用场景
用于信息的标识和分类
public enum Constant {
BOY, GIRL;
}
public class Test2 {
public static void main(String[] args) {
check(Constant.BOY);
}
public static void check(Constant flag) {
switch (flag){
case BOY:
System.out.println("展示游戏");
break;
case GIRL:
System.out.println("展示购物");
break;
default:
break;
}
}
}