`
netatomy
  • 浏览: 46858 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java中的枚举类型-1:基本用法

    博客分类:
  • Java
阅读更多

枚举是Java 5开始支持的新特性,其作用是将一组相关的常量定义在一个类型中,这样在使用时就只能使用这些有限的常量。先定义一个代表一周七天的枚举类型作为范例:

enum Weekday {
    SUNDAY, MONDAY, TUESDAY, WEDNSDAY, THURSDAY, FRIDAY, SATURDAY
};

这样就定义好了一个Weekday枚举类型,注意最后的分号是可以省略的。因为Weekday中只有7个成员,所以Weekday的变量只能取其中一个值,例如:

Weekday wd = Weekday.MONDAY;

 

这样看起来枚举类型似乎很简单,其实它本质上是一个类,其隐含的父类是java.lang.Enum,所以Weekday自动继承了Enum的方法,其中有两个挺有用,一个叫ordinal(),返回成员的声明顺序编号,这是一个整数,值从0开始编号,比如Weekday.SUNDAY.ordinal()返回0,而Weekday.MONDAY.ordinal()返回1。另一个方法叫做name(),返回枚举成员的名称。

更有意思的是,枚举类型可以直接用于switch语句,这个功能看起来是突破了Java中switch只能用于整数和字符的限制,不过其实是Java编译器的障眼法,Java编译器会自动在枚举成员上调用ordinal()方法,例如:

Weekday wd = Weekday.FRIDAY;
switch (wd) {
case MONDAY: 
    System.out.println("这个星期才刚开始,慢慢等吧"); 
    break;
...
case FRIDAY: 
    System.out.println("周末来了,好好享受吧"); 
    break;
...
}

如果像遍历Weekday,那么可以使用它隐含的静态方法values(),这个方法在文档中找不到定义,是Java编译器自己加上去的,很奇怪! 例如:

for (Weekday wd : Weekday.values()) {
    System.out.println(wd + ", 顺序: " + wd.ordinal());
}

以上是枚举的基本用法,实际上枚举本身要复杂的多,比如可以定义构造函数,定义字段,定义和重写方法,甚至可以在枚举的常量中重写枚举中的方法,这些内容将在下一篇文章中介绍。

分享到:
评论

相关推荐

    JAVA中的枚举类型1:基本用法.doc

    ### JAVA中的枚举类型1:基本用法 #### 一、枚举类型的引入与定义 在Java 5中,枚举类型作为一种新特性被引入,主要用于定义一组固定的、相关的常量集合。通过枚举类型,我们可以更加清晰地组织并限制程序中可用的...

    Java枚举类型Enum的用法

    接下来,我们将深入探讨Java枚举类型的使用方法及其相关知识点。 1. **枚举的声明与初始化** 枚举类型的声明方式类似于类,但以`enum`关键字开头。例如: ```java enum Color { RED, GREEN, BLUE } ``` 这里...

    简单总结java枚举类型

    Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...

    全面掌握java枚举类型(enum-type)1

    Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...

    Java中枚举类型的使用.docx

    ### Java中枚举类型的使用详解 #### 一、引言 在软件开发过程中,经常会遇到需要定义一组固定的常量的情况,比如系统中的状态值、选项等。这些常量的定义方式直接影响到代码的可读性、可维护性和扩展性。在Java...

    java枚举类型说明

    本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举类型在Java中的引入标志着一种更为类型安全且灵活的编程方式。 #### 二、Java枚举的基本概念 Java中的枚举是一种特殊的类,用于定义...

    理解java枚举类型

    Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...

    JAVA枚举类型的用法.doc

    - 枚举类型中的成员方法可以是抽象的,每个枚举常量需要实现这个方法。例如: ```java public enum Belle { para1("this is para1") { @Override public String event() { return "i am a method of para1"; ...

    java中的枚举类型

    在 Java 中,我们可以使用 `enum` 关键词来定义枚举类型。枚举类型的定义方式类似于类别的定义,但是它只能包含常量。例如: ```java public enum Action { TURN_LEFT, TURN_RIGHT, SHOOT } ``` 在上面的示例中,...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    517.515.JAVA基础教程_集合-复习:枚举类(517).rar

    本教程将深入探讨Java枚举类的概念、用法以及在集合中的应用。 一、枚举类的概念 枚举类是Java 5引入的新特性,它允许我们创建具有预定义值的类型安全的类。枚举不是简单的常量集合,而是一个完整的类,可以拥有...

    JAVA Programming Guide - Quick Reference

    - `enum`:用于声明枚举类型。 - `extends`:继承父类。 - `final`:声明常量或禁止子类重写方法。 - `finally`:异常处理中的最后部分。 - `float`:单精度浮点数。 - `for`:循环结构。 - `goto`:未在标准JAVA中...

    JAVA枚举类型的用法详解

    下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...

    enums-examples:Java 中枚举的高级使用示例

    枚举常量的默认顺序是它们在枚举类型中声明的顺序,可以通过`ordinal()`方法获取。这个顺序也可以在`values()`方法返回的数组中体现。 7. 枚举常量间的关联: 枚举常量可以相互引用,形成更复杂的结构。例如,...

    Java中的枚举类型Enum示例源代码

    在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`Enum`的基本概念、用法以及一些高级特性。 首先,枚举类型`Enum`的定义方式如下: ```java ...

    清华大学JAVA教程(清华JAVA教程的PPT)

    - IDE介绍:Eclipse、IntelliJ IDEA、NetBeans等主流Java集成开发环境的使用方法。 3. **Java语法基础** - 基本数据类型:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)、布尔型...

    Java枚举类型.pdf

    总结起来,Java枚举类型是一个强大的工具,它可以替代`static final`常量来表示一组固定的值,提供类型安全、易于维护的代码。通过枚举,我们可以更方便地管理常量,减少错误,并增加代码的灵活性。枚举是Java中一个...

    java中enum枚举的详细用法

    总之,Java中的枚举类型提供了一种安全、类型安全的方式来表示一组预定义的值。它们支持多种高级用法,包括构造函数、方法、switch语句、继承接口等,是编写高质量代码的重要工具。在处理固定的、有限的、不可变的...

Global site tag (gtag.js) - Google Analytics