一、enum枚举
- 枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象
- 为什么要有枚举
- 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0...
- 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。
- 枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目的
二、枚举的基本应用
public class EnumDemo { public static void main(String[] args) { WeekDay w = WeekDay.SUN; System.out.println(w); System.out.println(w.name()); System.out.println(w.ordinal()); System.out.println(w.getClass()); //将字符串转成WeekDay对象 System.out.println(WeekDay.valueOf("MON")); //得到WeekDay类型的数组 System.out.println(WeekDay.values().length); } } enum WeekDay { SUN,MON,TUS,WEN,THU,FRI,SAT;//分号可以不写,但是如果下面还有内容就必须写分号 }
- 枚举也可以定义构造方法,成员变量,普通方法和抽象方法
- 如果有构造方法必须定义成私有
- 枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后面要有分号与其他成员分隔。
- 把枚举中的成员方法或变量等放在枚举元素的前面,编译器报告错误
- 枚举元素MON和MON()的效果一样,都是调用默认的构造方法
- 枚举只有一个成员时,就可以作为一种单例的实现方式
public class EnumDemo { public static void main(String[] args) { WeekDay w = WeekDay.SUN; } } enum WeekDay { SUN,MON(3),TUS,WEN,THU,FRI,SAT; private WeekDay() { System.out.println("first"); } private WeekDay(int num) { System.out.println("second "+num); } }
/** * 模拟交通灯 */ public class EnumDemo { public static void main(String[] args) { TrafficLamp lamp = TrafficLamp.GREEN; } } enum TrafficLamp { RED(30) { public TrafficLamp nextLamp() { return GREEN; } }, GREEN(45) { public TrafficLamp nextLamp() { return YELLOW; } }, YELLOW(5) { public TrafficLamp nextLamp() { return RED; } }; private int time; private TrafficLamp(int time) { this.time = time; } public abstract TrafficLamp nextLamp(); }
相关推荐
6. **枚举常量的遍历** 可以通过for-each循环遍历枚举的所有实例,如: ```java for (Color color : Color.values()) { System.out.println(color); } ``` 7. **枚举与switch语句** Java中的switch语句支持...
枚举Enum的一些案例 枚举(enum)是一种特殊的值类型,它从 System.Enum 继承而来,并为基础的基元类型的值提供替代名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数...
"Java Enum 枚举学习资料" Java Enum 枚举学习资料是 Java 编程语言中的一种特殊类型,它主要用来实现一组固定的常量。 Enum 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举...
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)在编程语言中是一种非常有用的类型,它允许我们定义一组命名常量,这些常量通常代表一组相关的值。在C#中,枚举(enum)被广泛用于增强代码的可读性和可维护性。下面我们将深入探讨C#中的枚举用法。 一...
枚举(Enum)在编程语言中是一种非常有用的数据类型,它允许我们定义一组相关的命名常量,便于代码的可读性和维护。在C#中,枚举是通过`enum`关键字来创建的。在给定的示例中,`BoxType`枚举定义了三种箱型:...
c#遍历枚举(ENUM)类型的方法,简单实用,适合c#初学者
### C++中的枚举类型(Enum) 在C++编程语言中,枚举(`enum`)是一种用户定义的类型,它由一组具有整数值的命名常量组成。这些值可以被程序用来代替数字,使代码更具可读性,并且能够表示特定范围内的固定集合。 ...
enum枚举的方法
Java中的枚举类型`Enum`是面向对象编程中一种强大的工具,它允许程序员定义自己的常量集合。在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`...
在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...
首先,定义枚举要导入enum模块。 枚举定义用class关键字,继承Enum类。 注意: 定义枚举时,成员名称不允许重复 默认情况下,不同的成员值允许相同。但是两个相同值的成员,第二个成员的名称被视作第一个成员的别名...
6. 枚举的序列化 默认情况下,枚举是可序列化的。如果不需要枚举实例被序列化,可以声明枚举类实现`java.io.Serializable`接口,并添加`transient`关键字。 7. 枚举的常量与静态字段 枚举类中的字段默认是静态的...
### Java 枚举类型 enum 的使用详解 #### 一、枚举类型概述 在 Java 中,枚举(enum)是一种特殊的类,它被用来表示一组固定的常量值。枚举类型自 JDK 1.5 开始引入,为开发者提供了一种更加安全、简洁的方式来...
枚举类型是一种特殊的类,实际上 enum 声明定义的类型就是一个类,这些类都是类库中 Enum 类的子类(java.lang.Enum)。它们继承了这个 Enum 中的许多有用的方法。 1、枚举类的特征 枚举类是特殊的类,其枚举值...
包含了关于枚举类的应用,以及枚举类和接口的组合应用,扩展映射关系。很有用的工具类。
利用自定的枚举类型,结合rand函数,结合C++编程进行博彩游戏的模拟(掷双骰子)
C++枚举类型enum与enum class的使用 以下是C++枚举类型enum与enum class的使用的相关知识点: 一、什么是枚举类型? 枚举类型是一种特殊的数据类型,它的变量只能取枚举类型中定义的某个值。例如,性别只有男和女...