enum: una palabra clave proporcionada después de jdk1.5, utilizada para definir clases de enumeración;
Enum: es una clase abstracta, todas las clases definidas con la palabra clave enum heredan esta clase por defecto
package day09_Enum; /** * 定义枚举结构 * @author tao *已声明无参构造方法 */ enum color{ //枚举类定义 RED,GREEN,BLUE; //枚举对象必须写下第一行,否则报错 private String info; //定义info属性(信息) private color() {} //定义无参构造 private color(String info){ //定义有参构造 this.info = info; } public String toString() { return this.info; } } public class java_EnumStract { public static void main(String[] args) { for(color c : color.values()) { System.out.println(c.ordinal()+"--->"+c.name()+"--->"+c); } } }
package day09_Enum; /** * 定义枚举结构 * @author asus *未声明无参构造方法用法 */ enum color{ //枚举类定义 RED("Red"),GREEN("Green"),BLUE("Blue"); //枚举对象必须写下第一行,否则报错 private String info; //定义info属性(信息) private color(String info){ //定义有参构造 this.info = info; } public String toString() { return this.info; } } public class java_EnumStract { public static void main(String[] args) { for(color c : color.values()) { System.out.println(c.ordinal()+"--->"+c.name()+"--->"+c); } } }
La salida es:
有参构造输出: 0--->RED--->null 1--->GREEN--->null 2--->BLUE--->null 无参构造输出: 0--->RED--->Red 1--->GREEN--->Green 2--->BLUE--->Blue
El método ordinal () en c.ordinal () + "--->" + c.name () + "--->" + c es obtener el número de enumeración y name () para obtener la definición del contenido de enumeración