枚举类

枚举:枚举指由一组固定的常量组成的类型

强烈建议当你需要定义一组常量时,使用枚举类型

枚举类的基本用法:

1.创建枚举类

  

2.枚举类的特点:

  ①枚举类在定义时使用enum关键字

  ②使用enum定义的枚举类默认继承java.lang.Enum

  ③枚举类中所有实例都必须定义在第一行,默认添加public static final进行修饰

  ④枚举类的构造器是私有的

3.枚举类的调用

1 定义枚举类:
2 public enum Gender {
3     男,女
4 }
5 调用枚举类中常量:
6 public class GenderTest {
7     Gender gender1 = Gender.男;
8     Gender gender2 = Gender.女;
9 }

4.定义私有构造器供外部调用属性

 1 public enum BaseEnum {
 2 
 3     LAUNCH("launch"),PAGEVIEW("pageview"),EVENT("event");
 4 
 5     private String name;
 6 
 7     BaseEnum(String name){
 8         this.name = name;
 9     }
10 
11     public void getName(){
12         System.out.println(this.name);
13     }
14 }
15 
16 public class BaseEnumTest {
17     public static void main(String[] args) {
18         BaseEnum baseEnum = BaseEnum.LAUNCH;
19         //打印结果为:launch
20         baseEnum.getName();            
21     }
22 }

5.name()方法

 1 public enum BaseEnum {
 2 
 3     LAUNCH("launch"),PAGEVIEW("pageview"),EVENT("event");
 4 
 5     private String name;
 6 
 7     BaseEnum(String name){
 8         this.name = name;
 9     }
10 
11     public void getName(){
12         System.out.println(this.name);
13     }
14 }
15 
16 public class BaseEnumTest {
17     public static void main(String[] args) {
18         String name = BaseEnum.LAUNCH.name();
19         //打印结果为:LAUNCH
20         //打印不出小写的launch,因为name是私有的
21         System.out.println(name);
22     }
23 }

6.values()方法

 1 public enum BaseEnum {
 2 
 3     LAUNCH("launch"),PAGEVIEW("pageview"),EVENT("event");
 4 
 5     private String name;
 6 
 7     BaseEnum(String name){
 8         this.name = name;
 9     }
10 
11     public void getName(){
12         BaseEnum[] ee = BaseEnum.values();
13         for (int i = 0; i<ee.length; i++){
14             System.out.println(ee[i]);
15         }
16     }
17 }
18 
19 public class BaseEnumTest {
20     public static void main(String[] args) {
21         BaseEnum baseEnum = BaseEnum.LAUNCH;
22         baseEnum.getName();
23     }
24 }

其他方法详见api文档,这里就不逐一介绍了

  

原文地址:https://www.cnblogs.com/lyc-code/p/12562813.html