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 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("春

你可能感兴趣的:(Java,程序员,编程,java,servlet,spring)