`
- 浏览:
95656 次
- 性别:
- 来自:
长沙
-
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
Java代码
-
public enum Color {
-
RED, GREEN, BLANK, YELLOW
- }
用法二:switchJDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
Java代码
-
enum Signal {
-
GREEN, YELLOW, RED
-
}
-
public class TrafficLight {
-
Signal color = Signal.RED;
-
public void change() {
-
switch (color) {
-
case RED:
-
color = Signal.GREEN;
-
break ;
-
case YELLOW:
-
color = Signal.RED;
-
break ;
-
case GREEN:
-
color = Signal.YELLOW;
-
break ;
-
}
-
}
- }
用法三:向枚举中添加新方法如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。
Java代码
-
public enum Color {
-
RED("红色" , 1 ), GREEN( "绿色" , 2 ), BLANK( "白色" , 3 ), YELLO( "黄色" , 4 );
- // 成员变量
-
private String name;
-
private int index;
- // 构造方法
-
private Color(String name, int index) {
-
this .name = name;
-
this .index = index;
-
}
- // 普通方法
-
public static String getName( int index) {
-
for (Color c : Color.values()) {
-
if (c.getIndex() == index) {
-
return c.name;
-
}
-
}
-
return null ;
-
}
- // get set 方法
-
public String getName() {
-
return name;
-
}
-
public void setName(String name) {
-
this .name = name;
-
}
-
public int getIndex() {
-
return index;
-
}
-
public void setIndex( int index) {
-
this .index = index;
-
}
- }
用法四:覆盖枚举的方法下面给出一个toString()方法覆盖的例子。
Java代码
-
public enum Color {
-
RED("红色" , 1 ), GREEN( "绿色" , 2 ), BLANK( "白色" , 3 ), YELLO( "黄色" , 4 );
- // 成员变量
-
private String name;
-
private int index;
- // 构造方法
-
private Color(String name, int index) {
-
this .name = name;
-
this .index = index;
-
}
- //覆盖方法
- @Override
-
public String toString() {
-
return this .index+ "_" + this .name;
-
}
- }
用法五:实现接口所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。
Java代码
-
public interface Behaviour {
-
void print();
-
String getInfo();
-
}
-
public enum Color implements Behaviour{
-
RED("红色" , 1 ), GREEN( "绿色" , 2 ), BLANK( "白色" , 3 ), YELLO( "黄色" , 4 );
- // 成员变量
-
private String name;
-
private int index;
- // 构造方法
-
private Color(String name, int index) {
-
this .name = name;
-
this .index = index;
-
}
- //接口方法
- @Override
-
public String getInfo() {
-
return this .name;
-
}
- //接口方法
- @Override
-
public void print() {
-
System.out.println(this .index+ ":" + this .name);
-
}
- }
用法六:使用接口组织枚举
Java代码
-
public interface Food {
-
enum Coffee implements Food{
-
BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
-
}
-
enum Dessert implements Food{
-
FRUIT, CAKE, GELATO
-
}
- }
用法七:关于枚举集合的使用java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
接下来,我们将深入探讨Java枚举类型的使用方法及其相关知识点。 1. **枚举的声明与初始化** 枚举类型的声明方式类似于类,但以`enum`关键字开头。例如: ```java enum Color { RED, GREEN, BLUE } ``` 这里...
通过上述介绍,我们了解到Java枚举类的多种用法,包括声明、初始化、方法定义、构造器、转换为集合、遍历、比较、在switch语句中的应用以及序列化等。枚举类不仅提高了代码的可读性和安全性,还简化了常量管理,使得...
Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...
这些代码可能包括创建枚举类,然后通过反射获取枚举值、实例名以及演示如何使用`getDeclaredConstructor()`和`newInstance()`方法来访问私有构造函数(虽然这不是常规用法)。 通过深入理解这些概念,你可以更好地...
本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...
Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...
本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...
枚举在Java中的使用不仅提高了代码的可读性和可维护性,还避免了传统常量类的一些潜在问题,如类型安全和非法实例化。 首先,我们来看枚举的基本定义。枚举类型的声明类似于类的声明,但用关键字`enum`开头。例如:...
枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用。以下是关于Java枚举类型的详细解释和相关知识点: 1. 定义枚举: 在Java中,枚举通过关键字`enum`来定义。例如,创建...
这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...
Java枚举可以方便地与集合框架一起使用。枚举类可以继承`EnumSet`或`EnumMap`,这两个类提供了针对枚举的优化操作。例如: ```java EnumSet<Color> colors = EnumSet.allOf(Color.class); ``` 通过学习上述知识...
本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举类型在Java中的引入标志着一种更为类型安全且灵活的编程方式。 #### 二、Java枚举的基本概念 Java中的枚举是一种特殊的类,用于定义...
下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...
Java枚举(Enum)状态机是一种使用枚举类型来实现状态转换逻辑的编程技术,它在Java编程中被广泛应用于管理对象的状态变化。状态机是一种模型,用于描述一个系统或对象在不同时间点可能存在的状态以及如何从一个状态...
Java 枚举类的属性、方法和构造方法应用实战 Java 枚举类是一种特殊的类,它拥有自己的属性、方法和构造方法。本文将详细介绍 Java 枚举类的属性、方法和构造方法应用实战,结合实例形式分析了 Java 枚举类的定义、...
Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着...在JavaDemo项目中,可能包含了各种使用枚举的示例,包括但不限于上述讨论的各种用法,学习和理解这些示例有助于深入理解和应用Java枚举。
Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...
Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...
Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()...
Java枚举可以实现接口,也可以拥有字段和方法,因此可以用来创建复杂的枚举集。例如,可以定义一个表示星期几的枚举,并为每个枚举值添加额外的属性或行为: ```java public enum DayOfWeek implements Comparable...