Java枚举类

简述

Java中的枚举类其实可以理解为有固定数量实例的普通类.这两者的差别主要是:在枚举类中,我们要先确定好实例的名称和种类.如下所示:

// 定义一个星期的枚举类
public enum WeekEnum {
    // 在第一行显式地列出7个枚举实例(枚举值),系统会自动添加 public static final 修饰
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
}

如果要将复合变量作为枚举实例,则要构建对应的私有化构造器和私有变量.如下所示:

public enum WeekEnum {

    // 因为已经定义了带参数的构造器,所以在列出枚举值时必须传入对应的参数
    SUNDAY("星期日","13点"), MONDAY("星期一","13点"), TUESDAY("星期二","13点"), WEDNESDAY("星期三","13点"),
    THURSDAY("星期四","13点"), FRIDAY("星期五","13点"), SATURDAY("星期六","16点");

    // 定义一个 private 修饰的实例变量
    private String date;
    private String time;

    // 定义一个带参数的构造器,枚举类的构造器只能使用 private 修饰
    private WeekEnum(String date, String time) {
        this.date = date;
        this.time = time;
    }

    // 定义 get set 方法
    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

}

如果要将Bean作为枚举实例,则如下所示:

enum ClassEnum {
        A(A.class),
        B(B.class),
        C(C.class);

        private Class<? extends BaseClass> instance ;

        ProcessStrategyEnum(Class<? extends BaseClass> instance) {
            this.instance = instance;
        }
}

class A extends BaseClass{
}

class B extends BaseClass{
}

class C extends BaseClass{
}

另外,枚举类也提供了valus(),name()等方法可以用来得到所有枚举类型和名字.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值