COREJAVA核心概述-枚举

1、什么是枚举

枚举,英文:Enumeration

“枚举”的字面意思:枚,是个量词,可以理解成是个。比如:一枚金牌、一枚银牌。举:就是例举的意思。枚举合起来的意思就是例举出有限的事物的集合!例如:例举一周有几天、一年有多少个月份。

枚举的正式解释:枚举类型是jdk5中新增的特性,它是一种加了限制的特殊的class类型。这里的限制指的是对枚举类型所能创建的对象的个数进行了限制!他不像普通的class类那样可以创建无数的对象,他只能创建固定数目的对象,而且这些对象是在定义枚举类型的时候就已经在枚举类内部创建好了的!

2、为什么要用枚举?

因为在有的时候一个类的对象是有限且固定的,所以这个时候用枚举就很方便!

例如:一周有七天、一年有四季

不用枚举(JDK1.5之前)

public class Week{
	private Week(){}//私有构造器
	public static final Week SUN = new Week();
	public static final Week MON = new Week();
	public static final Week TUE = new Week();
	public static final Week WED = new Week();
	public static final Week THU = new Week();
	public static final Week FRI = new Week();
	public static final Week SAT = new Week();
}

使用枚举(JDK1.5之后)

public enum WeekEnum {
    SUN,MON,TUE,WED,THU,FRI,SAT;
}

3、枚举的使用

枚举的定义其实和类的定义是一样的,只是关键字不一样,定义枚举的关键字是==enum==

//定义一个类
public class 类名称{
	//类成员
}
//定义了一个星期的枚举类
public enum WeekEnum {//class
    //枚举对象
    SUN,MON,TUE,WED,THU,FRI,SAT;//object  -->枚举常量
}
public class Week{
	private Week(){}//私有构造器
	public static final Week SUN = new Week();
	public static final Week MON = new Week();
	public static final Week TUE = new Week();
	public static final Week WED = new Week();
	public static final Week THU = new Week();
	public static final Week FRI = new Week();
	public static final Week SAT = new Week();
}

注意事项:

(1)、枚举值都定义在枚举类中。

(2)、枚举常量值的书写要遵循Java标识符的规范,一般都是==全部大写==。

(3)、定义的枚举值和枚举值之间用“,”隔开,定义完所有的枚举值之后要加”;”。

(4)、每一个枚举值都是一个常量,定义之后都不能更改!

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注