java中的枚举是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类。

创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类(java.lang.Enum是一个抽象类)。

枚举类型符合通用模式Class Enum<E extends Enum<E>>,而E表示枚举类型的名称。

枚举类型的每一个值都映射到protected Enum(String name,int ordinal)构造函数中,在这里,每个值的名称都转换成一个字符串,并且序数设置表示了此设置被创建的顺序。

枚举的使用:

创建一个枚举类:EnumTest

public enum EnumTest {//星期一,星期二,星期三,星期四,星期五,星期六MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){public boolean isRest(){return true;}},//星期日SUN(0){public boolean isRest(){return true;}};private int value;private EnumTest(int value){this.value=value;}public int getValue(){return value;}public boolean isRest(){return false;}}

使用EnumTest枚举类:

public class EnumMain {public static void main(String[] args) {for (EnumTest enumTest : EnumTest.values()) {System.out.println(enumTest + ":" + enumTest.getValue());}System.out.println("---------------我是分割线------------");EnumTest test = EnumTest.SAT;switch (test) {case MON:System.out.println("今天是星期一");break;case TUE:System.out.println("今天是星期二");break;case WED:System.out.println("今天是星期三");break;case THU:System.out.println("今天是星期四");break;case FRI:System.out.println("今天是星期五");break;case SAT:System.out.println("今天是星期六");break;case SUN:System.out.println("今天是星期日");break;default:System.out.println(test);break;}}}

每一个枚举类型极其定义的枚举变量在JVM中都是唯一的,这句话的意思是枚举类型它拥有的实例在编写的时候,就已经确定下,不能通过其他手段进行创建,且枚举变量在jvm有且只有一个对应的实例。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。