枚举类enum

作用:需要一组常量时使用enum类

定义枚举类:关键字enum与class,interface一样

1:直接提供对象,多个对象之间逗号隔开,结尾使用分号,必须在第一行进行定义对象

2:声明对象的属性,private final 修饰

3:自定义构造器为属性赋值

枚举类的常用方法:1: toString 打印对象 2:value 返回对象名称的数组3:valuesOf对于输入的字符进行对象名称匹配.

 1 /**
 2  * 一:枚举类的理解
 3  * Enum类:关键字:enum:当需要定义一组常量时使用枚举类
 4  * 二:如何定义枚举类
 5  * 方式一:jdk5.0之前的自定义方式 几乎舍弃不用
 6  * 方式二:jdk5.0时可以使用enum关键字使用枚举类,枚举类的实例对象必须在第一行定义,其次声明对象的属性
 7  * 三:常用的方法 toString values valuesOf
 8  * 四:enum类实现接口
 9  */
10 
11 public enum EnumTest  implements test {//使用enum关键字定义枚举类
12     //1:提供当前枚举类的对象,多个对象之间用逗号隔开,最后一个用分号
13     //不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
14     SPRING("春天", "春暖花开"),
15     //1:创建对象作为常量出现
16     SUMMER("夏天", "夏日炎炎");
17     private final String EnumName;//2:声明对象的属性
18     private final String EnumEsc;
19 
20     EnumTest(String EnumName, String EnumEsc) {//3:自定义构造器
21         this.EnumName = EnumName;
22         this.EnumEsc = EnumEsc;
23     }
24 
25     public String getEnumName() {
26         return EnumName;
27     }
28 
29     public String getEnumEsc() {
30         return EnumEsc;
31     }
32 
33     @Override
34     public void show() {
35         if (this == SPRING) {
36             System.out.println("春天该很好");
37         }else if (this==SUMMER){
38             System.out.println("暑天该很好");
39         }
40     }
41 }
42 
43 
44 class test3{
45     public static void main(String[] args) {
46         EnumTest summer=EnumTest.SUMMER;//此对象是静态对象可以直接通过类进行调用
47         EnumTest spring=EnumTest.SPRING;
48         //1:toString方法
49         System.out.println(summer.getEnumEsc());
50         System.out.println(spring.getEnumEsc());
51         //2:values方法:返回枚举类型的对象数组,可以遍历此数组得到每个对象的对象名:都是静态方法直接调用
52         EnumTest[]values=EnumTest.values();//可以省略不写,
53         System.out.println(Arrays.toString(EnumTest.values()));//直接打印
54         //3:valuesOf方法:根据输入的String字符串返回一个同名的枚举对象,必须要有此对象,没有的话会报错
55         System.out.println(EnumTest.valueOf("SUMMER"));
56         // System.out.println(EnumTest.valueOf("HPP"));错误的写法,没有HPP对象
57         //4:实现接口,并实现其中的方法
58         spring.show();
59         summer.show();
60     }
61 }
62 
63 interface test{
64     void show();
65 }

 

上一篇:stream-enum判断


下一篇:(1)C++基本数据类型(枚举、共用体)