Java基础--枚举类

枚举类:

JDK1.5以后新增了enum关键字,用来定义枚举类,枚举类是一种特殊的类,
它可以定义成员变量,方法,可以实现一个或者多个接口,也可以定义自己的构造器
它不能继承具体的类,和抽象类,但是可以实现接口,(多实现接口)
它不能直接实例化对象,必须通过valueof实现具体的对象
它有成员变量。和成员方法。
它的父亲是:Enum 而不是Object

DemoEnum类

package test.fanxing;

public enum DemoEnum {

	MON(0), TUE(1), WED(2), THU(3), FRI(4), SAT(5), SUN(6);

	private int value;

	private DemoEnum(int value) {
		this.value = value;
	}

	public int getValue() {
		return value;
	}

}
TestEnum类

package test.fanxing;

public class TestEnum {

	public static void main(String[] args) {
		// 遍历enum
		for (DemoEnum s : DemoEnum.values()) {
			System.out.println(s);
		}
		System.out.println("----------");
		DemoEnum demoEnum = DemoEnum.MON;
		switch (demoEnum) {
		case MON:
			System.out.println("今天星期一");
			break;
		case TUE:
			System.out.println("今天星期二");
			break;
		default:
			break;
		}
		System.out.println("---------------");

		System.out.println("DemoEnum.FRI 的value = " + DemoEnum.FRI.getValue());

		System.out.println("-----------常用方法--------------");
		/**
		 * int compareTo(E o) 比较此枚举与指定对象的顺序。 Class<E> getDeclaringClass()
		 * 返回与此枚举常量的枚举类型相对应的 Class 对象。 String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。
		 * int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 String toString()
		 * 返回枚举常量的名称,它包含在声明中。 static <T extends Enum<T>> T valueOf(Class
		 * <T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。
		 */

		DemoEnum demoEnum2 = DemoEnum.TUE;
		switch (demoEnum2.compareTo(DemoEnum.MON)) {
		case -1:
			System.out.println("TUE 在 MON 之前");
			break;
		case 1:
			System.out.println("TUE 在 MON 之后");
			break;
		default:
			System.out.println("TUE 与 MON 在同一位置");
			break;
		}

		System.out.println("getDeclaringClass(): " + demoEnum2.getDeclaringClass().getName());
		System.out.println("name(): " + demoEnum2.name());
		System.out.println("ordinal(): " + DemoEnum.TUE.ordinal());
	}
}

结果:

MON
TUE
WED
THU
FRI
SAT
SUN
----------
今天星期一
---------------
DemoEnum.FRI 的value = 4
-----------常用方法--------------
TUE 在 MON 之后
getDeclaringClass(): test.fanxing.DemoEnum
name(): TUE
ordinal(): 1



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值