还记得上一篇是如何运用Enum来定义一周的的吗?
public enum Weekday { monday,tuesday,wensday,thursday,friday,saturday,sunday }
显然,enum很像特殊的class,为了一探究竟,需要来看一下Weekday.java文件的字节码:
通过javap命令,查看字节码得知,实际上enum声明定义的Weekday就是一个类,该类继承(extends )自 java.lang.Enum类。
查看java api文档,其中对java.lang.Enum类的介绍非常简单明了,它就是所有 Java 语言枚举类型的公共基本类。
再来看看我们通常通过变量来实现Weekday的代码:
public static final String monday = "1"; public static final String tuesday = "2"; public static final String wensday = "3"; public static final String thursday = "4"; public static final String friday = "5"; public static final String saturday = "6"; public static final String sunday = "7";
其中字码中定义变量部分是不是与上面的代码很像,那我们来总结一下吧!
- 枚举类型声明定义的就是一个类,类是final类型,说明不可以被继承
- 其枚举值(monday、tuesday、wensday…)都是类Weekday的静态常量,可理解为类内部是对一组变量的封装。
恩,暂停一下吧,我要先来解答一下上一篇中的问题,怎么通过enum来定义变量并赋值。
public enum Weekday { monday("1"),tuesday("2"),wensday("3"),thursday("4"),friday("5"),saturday("6"),sunday("7"); // 成员变量 private String value; // 构造方法 private Weekday(String v){ value = v; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } }
哇有点小复杂,先消化一下吧!
参考资料:
http://www.cnblogs.com/frankliiu-java/archive/2010/12/07/1898721.html
相关推荐
Enum.doc Enum.docEnum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc
Enum的用法Enum的用法Enum的用法Enum的用法
常见的enum类型重定义的解决方法,清晰明了。
用于枚举磁盘设备的 Enumdisk 示例
选项Swift软件包,用于更强大的Enum类型。 目录介绍特征安装用法设置一个MappedValueRepresentable枚举使用MappedValueCollectionRepresented 使用MappedEnum类型的可编码枚举在ESet中使用OptionSet中的EnumSet 将...
php-enum, PHP Enum实现灵感来自 SplEnum PHP enum 实现来自 SplEnum 为什么?首先,SplEnum 并不集成到PHP中,你必须单独安装它。使用 enum 而不是类常量提供了以下优点:你可以键入提示: function setAction(Ac
enum测试代码
Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...
一个分析 enum 结构分析 源码资源
Laravel开发-enum PHP的枚举实现
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
opc enum 32_64安装包
enum枚举的方法
enum.docx ,详细介绍了enum的用法,枚举用法在c#中比较常见,希望会有帮助哦
简单介绍了DNS和ENUM的原理及在IMS网络中的使用
enum李兴华视频笔记,绝对值得看!
C++中枚举类型(enum)
博文“Java 语言中 Enum 类型的使用介绍”的源码。
Java enum的用法详解,可作为开发api
Laravel开发-laravel-enum 具有某些功能的基本枚举类。