Java Enum 类型的语法结构尽管和 java 类的语法不一样,应该说差别比较大。但是经过编译器编译之后产生的是一个 class 文件。该 class 文件经过反编译可以看到实际上是生成了一个类,该类继承了 java.lang.Enum<E>.
WeekDay (javap WeekDay 命令 之后得到的内容如下 ( 去掉了汇编代码 ) :
public final class WeekDay extends java.lang.Enum{ public static final WeekDay Mon; public static final WeekDay Tue; public static final WeekDay Wed; public static final WeekDay Thu; public static final WeekDay Fri; public static final WeekDay Sat; public static final WeekDay Sun; static {}; public static void printDay(int); public java.lang.String getDay(); public static WeekDay[] values(); public static WeekDay valueOf(java.lang.String); }
所以实际上 Enum 类型就是以 Java 类来实现的,没有什么新的特点,只不过 java 编译器帮我们做了语法的解析和编译。完全也可以自己实现。但是既然有这样方便一个东西,当然会去用了。
分享到:
相关推荐
### Java中的Enum枚举用法详解 #### 一、引言 在Java编程语言中,枚举(Enum)是一种特殊的数据类型,它被用来表示一组固定的常量集合。相比于使用常量接口或字符串来表示固定集合,枚举提供了更加安全且易于管理的...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
而在更现代的语言如C#或Java中,枚举是一种完全独立的类型,可以拥有方法和属性,这使得枚举更加灵活且功能强大。 总的来说,理解和掌握枚举的使用对于任何C语言开发者来说都是至关重要的,它能帮助我们编写更加...
本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...
Java通过JNA(Java ...通过理解JNA的工作原理,创建对应的Java结构体类,以及正确地传递和解析结构体指针,可以有效地在Java和C之间进行数据交换。对于需要跨平台或利用C库的Java开发者来说,这是一个重要的技能。
1. Java 中语法糖原理、解语法糖 并发编程 1. 什么是线程,与进程的区别 2. 阅读源代码,并学会使用Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock、Atomic*、Semaphore、CountDownLatch、、...
在Java编程领域,坦克大战是一款经典的基于控制台的游戏,它能帮助初学者理解游戏开发的基本原理,如对象交互、碰撞检测以及多线程等。在这个Java坦克大战的图片资源中,开发者显然对游戏进行了视觉升级,增加了丰富...
14. **JVM内存管理**:理解Java虚拟机(JVM)的工作原理,包括堆内存、栈内存、方法区等,以及垃圾回收机制,对优化程序性能至关重要。 15. **Java标准库API**:熟练掌握Java标准库如Math、Collections、Arrays等...
9. **JAVA高级特性**:包括枚举(enum)、注解(annotation)、Lambda表达式、Stream API等,这些都是JAVA 8及以后版本引入的新特性。 10. **JAVA开发工具**:介绍Eclipse、IntelliJ IDEA等主流JAVA集成开发环境...
"Java switch case 数据类型原理解析" Java switch case 语句是 Java 语言中的一种控制流语句,用于判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。switch 语句的语法格式如下: switch(expression...
8. **注释**:源码中的详细注释是学习的关键,它们解释了代码的功能和工作原理。良好的代码注释可以帮助初学者更好地理解复杂的代码结构。 9. **调试与测试**:熟悉IDE(集成开发环境)的调试工具,如断点、单步...
通过深入学习和实践Java 1.6的英文API文档,开发者可以更好地理解Java平台的工作原理,编写出高效、可靠的代码。这份文档不仅是学习工具,也是日常开发中不可或缺的参考资料。无论是初学者还是经验丰富的开发者,都...
3. **枚举类型(Enum)**:Java中的枚举用于定义一组固定的常量,非常适合表示游戏中的石头、剪刀、布这三个选项。通过枚举,我们可以确保只有这三种合法选择,并且方便比较它们之间的胜负关系。 4. **随机数生成**...
### Java RPC XDR 使用详解 #### 一、RPC 概念与原理 ##### 1.1 RPC 定义 远程过程调用 (Remote Procedure Call, RPC) 是一种协议,允许在一个计算机上的程序调用另一个网络上的计算机上的子程序,而无需程序员...
随着版本的更新,从Java 5开始,`switch`语句还可以接受`enum`类型;从Java 7开始,又支持了`String`类型。但值得注意的是,`long`类型一直不被支持。 **1.6 计算方法** - 使用位运算进行乘法运算:`2 相当于`2 * ...
《Java语言规范3.0》是Java开发的关键文档,它定义了Java编程语言的语法、语义以及编译器的行为。这份规范是Java 2 Standard...通过阅读这本规范,开发者能够深入理解Java的底层原理,从而编写出更高效、更可靠的代码。
Java的自动内存管理机制使得开发者无需手动释放内存,但理解其工作原理有助于避免内存泄漏。同时,理解Java集合框架(如ArrayList、LinkedList、HashMap等)的内部工作机制,将极大地提高代码的效率和可读性。 Java...
1. **Frida原理**:Frida工作于进程注入模式,它能够将自身注入到目标进程中,然后通过JavaScript来实现对目标进程的代码插桩。JavaScript代码在目标进程中运行,可以直接操作内存、API调用等,提供极高的灵活性。 ...
4. **枚举类型(Enum)**:为了表示石头、剪刀、布这三个选项,可以使用Java的枚举类型。枚举是一种特殊的类,可以定义一组预定义的常量,便于管理和使用。 5. **游戏逻辑**:猜拳游戏的胜负判断是基于以下规则:...