作用:需要一组常量时使用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 }