当前位置:首页 > Java

java如何定义一个枚举类型

2026-03-03 22:22:19Java

定义枚举类型的基本语法

在Java中,枚举类型通过enum关键字定义。基本语法结构如下:

public enum EnumName {
    CONSTANT1,
    CONSTANT2,
    CONSTANT3;
}
  • EnumName是枚举类型的名称,遵循大驼峰命名法。
  • CONSTANT1等是枚举常量,通常全大写,用逗号分隔,分号可选(当无额外成员时)。

添加字段和方法

枚举可以像普通类一样包含字段、方法和构造方法,但构造方法必须是private

public enum Direction {
    NORTH("上"), 
    SOUTH("下"), 
    EAST("右"), 
    WEST("左");

    private String description;

    Direction(String desc) {
        this.description = desc;
    }

    public String getDescription() {
        return description;
    }
}

实现接口

枚举可以实现接口,需为所有常量实现接口方法或重写默认方法:

public interface Printable {
    void print();
}

public enum Status implements Printable {
    ACTIVE {
        @Override
        public void print() {
            System.out.println("运行中");
        }
    },
    INACTIVE {
        @Override
        public void print() {
            System.out.println("已停止");
        }
    };
}

使用枚举

枚举常量通过类型名直接访问,常用方法包括:

  • values():返回所有枚举值的数组
  • valueOf(String):根据名称获取枚举实例
  • ordinal():获取枚举常量的序数

示例:

Direction dir = Direction.NORTH;
System.out.println(dir.getDescription()); // 输出"上"

for (Direction d : Direction.values()) {
    System.out.println(d.name() + ": " + d.ordinal());
}

枚举的高级特性

枚举支持switch语句,可定义抽象方法强制每个常量实现特定行为:

java如何定义一个枚举类型

public enum Operation {
    PLUS {
        public double apply(double x, double y) { return x + y; }
    },
    MINUS {
        public double apply(double x, double y) { return x - y; }
    };

    public abstract double apply(double x, double y);
}

枚举的单例特性使其天然线程安全,适合实现单例模式。

标签: 定义类型
分享给朋友:

相关文章

java如何定义一个数组

java如何定义一个数组

定义数组的基本语法 在Java中,数组是固定长度的同类型数据集合。定义数组需要指定数据类型和数组名称,并可以选择直接初始化或稍后分配空间。 // 声明数组但不初始化 数据类型[] 数组名; //…

React如何定义公共常量

React如何定义公共常量

定义全局常量 在React项目中,可以通过创建单独的常量文件来存放公共常量。例如创建一个constants.js文件,导出需要共享的常量。 // constants.js export const…

react中如何定义初始状态

react中如何定义初始状态

在 React 中定义初始状态 在 React 中,组件的初始状态可以通过类组件或函数组件(使用 Hooks)两种方式定义。以下是具体方法: 类组件中定义初始状态 在类组件中,通过 cons…

react如何定义可扩展的对象

react如何定义可扩展的对象

定义可扩展对象的方法 在React中定义可扩展对象通常涉及使用JavaScript的原型继承、类继承或组合模式。以下是几种常见的方法: 使用类继承 通过class和extends实现对象的扩展性。子…

react如何定义全局变量csdn

react如何定义全局变量csdn

React 中定义全局变量的方法 在 React 中,可以通过多种方式定义全局变量,以下是几种常见的方法: 使用 Context API Context API 是 React 提供的用于跨组件共享…

jquery定义数组

jquery定义数组

jQuery 定义数组的方法 jQuery 本身是一个 JavaScript 库,主要用于 DOM 操作和事件处理。在 jQuery 中定义数组实际上使用的是原生 JavaScript 的数组语法,因…