Java基础——枚举与注解

一、枚举

1、介绍

枚举类:类的对象只有有限个,确定的。 当需要定义一组常量时,强烈建议使用枚举类。如果枚举类中 只有一个对象, 则可以作为 单例模式 的实现。

使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类。

2、枚举的实现

代码示例:方式一,JDK 5.0 之前,自定义枚举类

 1 public class SeasonEnum {
 2 
 3     // 枚举当前类的多个对象
 4     public static final SeasonEnum SPRING = new SeasonEnum("01", "春天");
 5     public static final SeasonEnum SUMMER = new SeasonEnum("02", "夏天");
 6     public static final SeasonEnum AUTUMN = new SeasonEnum("03", "秋天");
 7     public static final SeasonEnum WINTER = new SeasonEnum("04", "冬天");
 8 
 9     private SeasonEnum(String code, String desc) {
10         this.code = code;
11         this.desc = desc;
12     }
13 
14     private final String code;
15     private final String desc;
16 
17     public String getCode() {
18         return code;
19     }
20 
21     public String getDesc() {
22         return desc;
23     }
24 }

代码示例:方式二,JDK 5.0,可以使用 enum 关键字定义枚举

 1 public enum SeasonEnum {
 2 
 3     // 枚举当前类的多个对象
 4     SPRING("01", "春天"),
 5     SUMMER("02", "夏天"),
 6     AUTUMN("03", "秋天"),
 7     WINTER("04", "冬天");
 8 
 9     public static final Map<String, SeasonEnum> map = new HashMap<>();
10 
11     static {
12         for (SeasonEnum e : values()) {
13             map.put(e.code, e);
14         }
15     }
16 
17     SeasonEnum(String code, String desc) {
18         this.code = code;
19         this.desc = desc;
20     }
21 
22     private final String code;
23     private final String desc;
24 
25     public String getCode() {
26         return code;
27     }
28 
29     public String getDesc() {
30         return desc;
31     }
32 
33 }

3、枚举实现接口

 1 public enum SeasonEnum implements Info {
 2 
 3     // 枚举当前类的多个对象
 4     SPRING("01", "春天") {
 5         @Override
 6         public void show() {
 7             System.out.println("春
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值