还记得上一篇是如何运用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
相关推荐
"TS大全深入浅出深入学习" 这个标题表明这是一个关于TypeScript(简称TS)的全面学习资源,旨在帮助读者深入理解并掌握这门编程语言。"深入浅出"强调了教程内容既具有深度,又注重易懂性,适合初学者和有一定经验的...
【深入浅出单例Singleton模式】 单例模式是一种在软件设计中常见的设计模式,它的核心目标是确保一个类只有一个实例,并提供一个全局访问点。在Java等面向对象编程语言中,单例模式常用于控制资源的共享,如全局...
【深入浅出PINTOS】项目详解 PINTOS是一个操作系统学习项目,旨在帮助学生理解操作系统的基本原理,如进程管理、内存管理和设备驱动等。在这个项目中,我们将深入探讨PINTOS的核心概念,并逐步了解如何操作和调试它...
以下是一些深入浅出的MySQL优化策略: 1. 选择合适的字段属性: 在设计数据库表时,应尽可能减小字段宽度,以减少存储空间和查询时间。例如,邮政编码字段只需设定为CHAR(6)即可,无需使用VARCHAR或更大的类型。...
这份"Java基础知识精讲"的资料深入浅出地介绍了Java的核心概念,是初学者理想的入门指南。以下将详细介绍其中可能涵盖的知识点。 1. **Java简介**:讲解Java的发展历史,其跨平台的特性(Write Once, Run Anywhere...
然而,提供的压缩包文件"深入浅出谈java修饰符共6页.pdf.zip"似乎包含的是一个PDF文档,若要获取更多具体信息,需要解压并查看文档内容。在"赚钱项目"这个子文件中,可能涉及的是如何利用Java编程技能进行项目开发以...
enum { ONE = 100, TWO = 2 }; ``` - 枚举类型可以用来提高代码的可读性和维护性。 #### 十二、静态成员变量与函数 - **静态成员变量**:属于类的所有对象共享的变量。 - **静态成员函数**:不属于任何特定对象...
注解的属性可以是基本数据类型、String、Class、Enum、Annotation 等。我们可以使用 `@MyAnnotation(getValue = "annotation on class")` 这样的方式来给注解赋值。 特别的属性:value 和数组 注解的属性可以是...
友元函数与友元类、引用与指针那些事、深入浅出C++虚函数的vptr与vtable、宏那些事、范围解析运算符那些事、从初级到高级的enum那些事、纯虚函数和抽象类、volatile、virtual、using、union、this、struct_class、...
Swift是一种强大的、面向对象的编程...本视频教程将深入浅出地介绍如何创建枚举、使用关联值、Raw Values、以及枚举的方法和属性。通过学习,初学者能够更好地掌握Swift语言的核心概念,并能在实际项目中有效应用枚举。
《Java程序设计教程》是雍俊海教授在清华大学软件学院所著的一本书,该书深入浅出地介绍了Java编程的基础知识。本章重点讨论了Java中的泛型、枚举以及for语句的简化写法,这些都是Java编程中非常重要的概念。 泛型...
总的来说,这个案例深入浅出地介绍了C#中的方法重载、结构体和枚举类型,这些都是C#编程中基础但至关重要的概念。通过实践这些知识点,开发者可以更好地组织代码,提高代码的可维护性和可扩展性。
书中提供了深入浅出的讲解和实践技巧,帮助读者掌握C++编程中的高级和关键概念。通过对代码片段的分析,可以提炼出C++语言编程中的多个知识点,包括预处理指令、常量定义、类的使用、枚举类型、函数重载、模板、内存...
这本书通过具体实践案例和详尽的解释,将复杂的C++语言细节和高级特性以深入浅出的方式介绍给读者,帮助读者在实际编程中避免常见的错误,编写出高效和规范的代码。书中内容不仅仅局限于语言特性,还包括了面向对象...
《C++大学教程》是一门深入浅出的编程课程,主要针对C++语言进行系统性的讲解,旨在帮助学习者掌握这一强大的编程工具。这门课程的课件采用PPT格式,便于教学和自我学习,强调易用性和实用性。 在课程中,首先接触...
《C#程序开发范例宝典(第2版)》是一部深入浅出的C#编程教程,涵盖了丰富的实例,旨在帮助读者掌握C#语言的核心概念和技术。本资源提供了该书第16至20章的源代码,共计572个实例,尽管缺少了第2、5、10、11章的代码,...
C语言精讲之深度解剖是一本针对初学者的教材,旨在深入浅出地介绍C语言的各个方面,帮助初学者建立坚实的编程基础。 在这本书中,首先介绍了C语言的基本概念,如关键字、数据类型和变量命名规则。关键字是C语言中的...
《谭浩强C语言》这本书深入浅出地介绍了C语言的基础概念和技术,包括数据类型、运算符、控制结构、函数、数组、指针、结构体、文件等核心内容。 1. 数据类型:C语言提供了基本的数据类型,如整型(int)、字符型...