1.创建一个最简单的枚举类型
创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类,它是抽象类。其中,枚举类型符合通用模式 Class Enum<E extends Enum<E>>
,而 E
表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal)
构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。
public enum Size{
SMALL,
MEDIUM,
LARGE;
}
实际上调用了三次构造函数:
new Enum<Size>("SMALL",0);
new Enum<Size>("MEDIUM",1);
new Enum<Size>("LARGE",2);
2.创建一个复杂点的枚举类
public enum Size
{
SMALL("S","A"),
MEDIUM("M","B"),
LARGE("L","C"),
EXTRA_LARGE("XL","D");
}
此时是无法通过编译器的。因为Size的每个成员附带额外的参数(类似带参数构造函数)
正确的做法是:增加带参数的构成函数
public enum SizeTest
{
SMALL("S","A"),
MEDIUM("M","B"),
LARGE("L","C"),
EXTRA_LARGE("XL","D");
private SizeTest(String abbreviation,String symbol) {}
}
参数类型确定,但是参数名可任意