首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java 枚举类型 enum

    以下使用 JDK 版本为:1.8.0_121 枚举类型的引入 枚举类型是 Java 5 中增加的一个小特性,在此之前,实现枚举的方式为定义编译期常量形式。...枚举类型的使用 enum 关键字与常用的 class 关键字作用相似,用于完成对类结构的定义,所以 enum 可以作为一种特殊的类定义方式理解。...定义过程与 class 的定义类过程基本相同,同样提供有属性和方法的定义,不同之处在于 enum 定义的类默认继承了 Enum 类,因为 Java 不允许多继承,所以使用 enum 定义的类不能再继承其它类...valueOf 与 values 函数 从上图中的反编译内容可以发现两个额外的方法定义,其中 valueOf 函数在 Enum 源码中已有定义,但是比较 Enum 源码中的 valueOf 函数与此处反编译生成的...引用: Java Enums Tutorial A Guide to Java Enums

    1.3K32

    Java中的枚举Enum

    Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办? Java中是这样解决的:定义一个私有的构造函数,然后在类中new出对象来。...public enum Date { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; } 如果我要定义这样一个枚举类,让它能够返回对应日期的中文怎么办...public enum Date { Sunday("星期天"), Monday("星期天"), Tuesday("星期天"), Wednesday("星期天"), Thursday( "星期天...4.枚举类也可以实现接口,或继承抽象类 5.若枚举只有一个枚举值,则可以当做单态设计模式使用 最后需要明确的是: Java中声明枚举类,均是java.lang.Enum类的子类,它继承了Enum...具体方法可以参考Java API文档,里面提供了一些有用的方法。

    1.1K20

    Java5 枚举(Enum)

    Java中,被enum关键字修饰的类型就是枚举类型,此类继承了Enum类,形式如下: public enum ColorEnum { RED, // 代表ColoeEnum的一个对象...尽管 enum 看起来像是一种新的数据类型,事实上,enum是一种受限制的类,并且具有自己的方法。...枚举类 在某些情况下,一个类的对象是有限且固定的,如季节类,它只有春夏秋冬4个对象这种实例有限且固定的类,在 Java 中被称为枚举类; 在 Java中使用enum关键字来定义枚举类,其地位与 class...源文件中最多只能有一个public类型的枚举类,且该Java源文件的名字也必须和该枚举类的类名相同,这点和类是相同的; 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了...java.lang.Seriablizable 和 java.lang.Comparable 两个接口; 所有的枚举值都是 public static final 的,且非抽象的枚举类不能再派生子类;

    1.2K31

    Java enum的用法详解

    完整代码示例如下: package com.merryyou.enmu; import java.util.EnumMap; import java.util.EnumSet; /** * Created...(java是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身的方法 switch()参数可以使用enum了 values()方法是编译器插入到enum定义中的static方法,所以,当你将enum...实例向上转型为父类Enum是,values()就不可访问了。...解决办法:在Class中有一个getEnumConstants()方法,所以即便Enum接口中没有values()方法,我们仍然可以通过Class对象取得所有的enum实例 无法从enum继承子类,如果需要扩展...enum要求其成员都是唯一的,但是enum中不能删除添加元素。 EnumMap的key是enum,value是任何其他Object对象。 enum允许程序员为eunm实例编写方法。

    83150

    JAVA枚举类型(Enum)的使用

    这个时候就体现出枚举类的作用了,java中枚举类型就是针对这样的场景需求所设计的。.../** * 枚举类的后缀建议为Enum,枚举类型的实例对象建议全大写(这样做符合JAVA的规范) */ public enum SeasonEnum{ SPRING,SUMMER,AUTUMN...public enum SeasonEnum { //枚举类的实例对象必须在最前面先定义,而且必须每个实例对象都必须维护上chinese成员变量 SPRING("春天"),SUMMER(...其实枚举类型可以看做我们平时新建.java差不多,只是枚举类限制了此类的实例对象。当然,枚举类可以有自己的成员变量和方法。...如果想看它更多用法请参考下面的链接 更多用法请参考这篇Java 枚举(enum) 详解7种常见的用法_请叫我大师兄_的博客-CSDN博客_java 枚举的定义与用法 版权声明:本文内容由互联网用户自发贡献

    1.3K20

    Java枚举(Enum)类型原理探求

    Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举、逐条陈述、细目。...1.5 中定义了一个枚举类型:java.lang.Enum。...Java枚举的定义 类似类(class)和接口(interface)的定义,Java提供enum关键字用来定义枚举类,在IDEA中创建枚举类的菜单如下: 同样定义一个季节的枚举类, 代码可以简洁如下:...Java枚举类实现的原理探求 ava枚举类型的奥秘就在编译阶段,枚举类在编译后会生成了一个扩展java.lang.Enum的类。这个可以通过JDK自带的javap工具来反编译生成的.class文件。...从控制台输出的反编译后的源码可以看出: 自定义的枚举类会自动继承java.lang.Enum类 每个成员变量都会被转换为 private static final的枚举类型的实例 自动添加private

    36230
    领券