java枚举

1.构造函数 方法 成员变量

首先,枚举的构造函数必须是private,因为不可以人为创造除列举以外的对象.

成员变量value被绑定为对象的解释字段.

 1 public enum Level {
 2     F("黄铜"),E("白银"),D("黄金"),C("铂金"),B("钻石"),A("王者");
 3     
 4     private String value;
 5     //
 6     private Level(String value){
 7         this.value = value;
 8     }
 9     
10     public String getValue(){
11         return this.value;
12     }
13     
14     public void print(){
15         System.out.println(this.toString() + ":" + this.value);
16     }
17     public static void main(String[] args) {
18         Level.A.print();
19     }
20 }

2.枚举的抽象方法的实现(包括实现接口)

实现抽象方法必须从对象本身去实现;

 1 public enum Level {
 2     F("黄铜"){
 3 
 4         @Override
 5         public String sp() {
 6             // TODO Auto-generated method stub
 7             return "菜B";
 8         }
 9         
10     },
11     E("白银"){
12 
13         @Override
14         public String sp() {
15             // TODO Auto-generated method stub
16             return "不坑";
17         }
18         
19     }
20     ,D("黄金"){
21 
22         @Override
23         public String sp() {
24             // TODO Auto-generated method stub
25             return "会玩";
26         }
27         
28     },
29     C("铂金"){
30 
31         @Override
32         public String sp() {
33             // TODO Auto-generated method stub
34             return "挺6";
35         }
36         
37     },B("钻石") {
38         @Override
39         public String sp() {
40             // TODO Auto-generated method stub
41             return "吊炸天";
42         }
43     },A("王者") {
44         @Override
45         public String sp() {
46             // TODO Auto-generated method stub
47             return "神级";
48         }
49     };
50 
51         
52     public abstract String sp();
53     private String value;
54     
55     private Level(String value){
56         this.value = value;
57     }
58     
59     public String getValue(){
60         return this.value;
61     }
62     
63 }
64     

3.使用枚举实现单态设计模式

当枚举中只枚举一个对象时,就类似于一个类只创建一个对象,从而实现单态设计模式.

4.其他方法:

name() 得到枚举名称

valueOf(String) 将字符串转换为枚举值

values(String) 将字符串转换为所有枚举值

ordinal() 返回枚举对象位置(如F的位置为1)

原文地址:https://www.cnblogs.com/sunnysola/p/4865105.html