枚举类(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调用实例 }}
时间: 2024-11-03 21:48:15