首先声明。枚举类实现的不是java.lang.objec接口,而是实现了java.lang.serializable 和java.lang.comparable 两个接口。
所有的枚举类都继承了java.lang.enum
另外默认的非抽象的枚举类会使用final修饰。不能被继承。也就不能枚举类的派生子类
枚举类的方法;
class.values() 可用于foreach 循环。遍历所有的枚举值
package T4;
public enum SeasonEnum { Spring, Summer,Fall,Winter; } public final class EnumTest { public void judge(SeasonEnum s){ switch (s){ case Spring: System.out.println("春暖花开,正好踏青"); break; case Summer: System.out.println("夏日炎炎,适合游泳"); break; case Fall: System.out.println("秋高气爽,进步及时"); break; case Winter: System.out.println("冬日雪飘,围炉赏雪"); break; } } public static void main(String[] args) { for (SeasonEnum se: SeasonEnum.values() ) { System.out.println(se); } //平常使用枚举类的实例时,通过如下的方式进行访问,SeasonEnum.variable new EnumTest().judge(SeasonEnum.Spring); System.out.println(SeasonEnum.Spring.compareTo(SeasonEnum.Summer)); System.out.println(SeasonEnum.Spring.ordinal()); System.out.println(SeasonEnum.Spring.ordinal()); Enum.valueOf(SeasonEnum.class,"Summer");
SeasonEnum se2= Enum.valueOf(SeasonEnum.class,"Summer"); //创建一个枚举类实例,不能通过new的方法,只能这种方式。
} }