枚举的使用

 1  2 
 3 /**
 4  * 一、枚举类的使用
 5  * 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类
 6  * 2.当需要定义一组常量时,强烈建议使用枚举类
 7  * 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。
 8  *
 9  * 二、如何定义枚举类
10  * 方式一:jdk5.0之前,自定义枚举类
11  * 方式二:jdk5.0,可以使用enum关键字定义枚举类
12  *
13  * 三、Enum类中的常用方法:
14  *    values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
15  *    valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。
16  *    toString():返回当前枚举类对象常量的名称
17  *
18  * 四、使用enum关键字定义的枚举类实现接口的情况
19  *   情况一:实现接口,在enum类中实现抽象方法
20  *   情况二:让枚举类的对象分别实现接口中的抽象方法
21  *
22  * @author shkstart
23  * @create 2019 上午 10:17
24  */
25 public class SeasonTest {
26 
27     public static void main(String[] args) {
28         Season spring = Season.SPRING;
29         System.out.println(spring);
30 
31     }
32 
33 }
34 //自定义枚举类
35 class Season{
36     //1.声明Season对象的属性:private final修饰
37     private final String seasonName;
38     private final String seasonDesc;
39 
40     //2.私有化类的构造器,并给对象属性赋值
41     private Season(String seasonName,String seasonDesc){
42         this.seasonName = seasonName;
43         this.seasonDesc = seasonDesc;
44     }
45 
46     //3.提供当前枚举类的多个对象:public static final的
47     public static final Season SPRING = new Season("春天","春暖花开");
48     public static final Season SUMMER = new Season("夏天","夏日炎炎");
49     public static final Season AUTUMN = new Season("秋天","秋高气爽");
50     public static final Season WINTER = new Season("冬天","冰天雪地");
51 
52     //4.其他诉求1:获取枚举类对象的属性
53     public String getSeasonName() {
54         return seasonName;
55     }
56 
57     public String getSeasonDesc() {
58         return seasonDesc;
59     }
60     //4.其他诉求1:提供toString()
61     @Override
62     public String toString() {
63         return "Season{" +
64                 "seasonName='" + seasonName + '\'' +
65                 ", seasonDesc='" + seasonDesc + '\'' +
66                 '}';
67     }
68 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值