枚举类(enum),与class和interface关键字地位相同。
枚举类是一个特殊的类,可以有自己的成员变量、方法、构造器,可以实现一个或多个接口。一个java源文件中只能有一个public的enum类。
枚举类终究不是普通类,它与普通类有什么区别呢?
enum默认继承的是java.lang.Enum类,而不是Object类。enum类不能显式继承其他父类。
使用enum定义、非抽象的枚举类默认会使用final修饰,因此enum类不能被继承(不能派生子类)。
枚举类的构造器只能使用private来修饰。
枚举类的所有实例只能在枚举类的第一行显式列出。系统会自动添加public static final 修饰,程序员无需显式添加。
枚举类提供了一个values()方法,可以很方便的遍历enum的值。
public enum SeasonEnum
{
//列出4个枚举实例
SRING,SUMMER,FALL,WINTER;
}
这个类等价于:
public static final int SEASON_SPRING=1;
public static final int SEASON_SUMMER=2;
public static final int SEASON_FALL=3;
public static final int SEASON_WINTER=4;
遍历SeasonEnum类的方法:
public class EnumTest
{
public void judge(SeasonEnum s)
{
switch(s)
{
case SRING:
syso(“春”);
break;
case SUMMER:
syso("夏");
break;
......
}
}
//main方法
main()
{
for(SeasonEnum s:SeasonEnum.values())
{
Syso(s);
}
new EnumTest().judge(SeasonEnum.SUMMER);//使用枚举类的类名SeasonEnum调用实例
}
}
本文详细介绍了Java中的枚举类,包括它的特性、与普通类的区别以及如何使用。枚举类是一种特殊的类,不能继承其他类但可以实现接口,其默认继承自java.lang.Enum。枚举类的所有实例必须在枚举类的第一行定义,并且系统会自动添加final和public static final修饰。此外,枚举类提供了values()方法方便遍历枚举值。通过枚举类,可以更安全地处理常量,避免了硬编码和类型转换的错误。
571

被折叠的 条评论
为什么被折叠?



