1 枚举类型等效于定义static finally 常量 2. 枚举类型可以有自己的属性(参数)和方法 3. 枚举类型可以以独立的文件存在 最简单的枚举类型: public enum Belle { para1, para2, para3, para4; } 调用: for(Belle belle : Belle.values()) { //遍历枚举中所有的对象 System.out.println(belle.name());//输出每一个枚举的名称 } 要取出某个指定名称的枚举成员 可用 Belle.para1(注意:因为枚举对象默认是static final 其成员对象都是stastic 属性, 直接调用),也可以用 Belle.valueOf("para1") 稍复杂的枚举类型: public enum Belle { para1("this is para1"), para2("this is para3"), para3("this is para3"), para4("this is para4"); public final String str; //定义枚举成员属性 Belle(String str) { //内部方法设定枚举成员属性 this.str = str; } } 这样就每一个枚举成员就有了属性,可以定义多个属性,每个属性必须在内部方法中set(例如this.str = str;) 调用时用这样的格式取值 belle.str 枚举成员就的属性可以不光是字符串,可以是任意对象 更复杂的枚举类型: public enum Belle { para1("this is para1") { public String event() { //实现枚举成员的方法 return "i am a mtthod of para1"; } }, para2("this is para3") { public String event() { //实现枚举成员的方法 return "i am a mtthod of para2"; } }, para3("this is para3") { public String event() { //实现枚举成员的方法 return "i am a mtthod of para3"; } }; public final String str; //定义枚举成员属性 Belle(String str) { //内部方法设定枚举成员属性 this.str = str; } abstract String event();//定义枚举成员的方法 } 这样就每一个枚举成员就有了自己的方法,可以定义多个方法,方法必须以抽象方法的形式作声明(例如 abstract String event();) 一个方法一旦定义了就必须在每一个枚举成员中得到实现。 调用方法时用这样的格式 belle.event(); |