JDK1.5之后可以借助enum关键字定义枚举类型,语法结构如下:

[public] enum 枚举名称 [implements 接口列表] {

枚举对象1[,枚举对象2] [,…];

[成员变量1;]

[成员变量2;]

[]

[(静态或非静态)代码块

[构造方法1]

[构造方法2]

[]

[普通方法1]

[普通方法2]

[]

[抽象方法1]

[抽象方法2]

[]

}

public enum Color {

	RED(1, "红色"), GREEN(2, "绿色"), BLUE(3, "蓝色");

	private int value;
	private String label;

	private Color(int value, String label) {
		this.value = value;
		this.label = label;
	}

	public int getValue() {
		return value;
	}

	public String getLabel() {
		return label;
	}
}
登录后复制

可以在直接在枚举中定义抽象对象 此时每个枚举对象需要实现该抽象方法,如下示例

enum Color {

	RED {
		public String getLabel() {
			return "红颜色";
		}
	},
	GREEN {
		public String getLabel() {
			return "绿颜色";
		}
	};
	public abstract String getLabel();
}

public class Test {
	public static void main(String[] args) {
		for (Color color : Color.values()) {
			String label = color.getLabel();
			System.out.println(label);
		}
	}
}
登录后复制

枚举名词.枚举对像:获取某个指定的枚举对象,如下例:

Java基础知识讲解 - 枚举类型定义-LMLPHP

static T[] values():获取自定义枚举中所有枚举对象,如下例

Java基础知识讲解 - 枚举类型定义-LMLPHP

switch中可以使用枚举类型,如下示例:

Java基础知识讲解 - 枚举类型定义-LMLPHP

Enum类是一个抽象类,该类是Java 语言枚举类型的父类,即enum关键字自定义的枚举类型相当于定义一个继承java.lang.Enum抽象类的子类。

Enum类构造方法:

Øprotected Enum(String name, int ordinal) :该构造方法接收两个参数,一个表示枚举的名字,另外一个表示枚举的序号;

Java基础知识讲解 - 枚举类型定义-LMLPHP

相关推荐:

JAVA两种枚举类型遍历的详情介绍

枚举的介绍及使用

以上就是Java基础知识讲解 - 枚举类型定义的详细内容,更多请关注Work网其它相关文章!

09-02 10:52