La diferencia entre la clase enum y Enum, el uso de la estructura enum

 

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

Supongo que te gusta

Origin blog.csdn.net/qq_41663470/article/details/113423953
Recomendado
Clasificación