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)