当前位置:首页 > Java

java如何定义一个枚举类型

2026-03-03 22:22:19Java

定义枚举类型的基本语法

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

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

添加字段和方法

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

java如何定义一个枚举类型

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("已停止");
        }
    };
}

使用枚举

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

java如何定义一个枚举类型

  • 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语句,可定义抽象方法强制每个常量实现特定行为:

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);
}

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

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

相关文章

react如何定义进程

react如何定义进程

在 React 中,"进程"通常指的是组件的生命周期或状态管理流程,而不是操作系统级别的进程。以下是 React 中定义和管理组件流程的常见方法: 使用生命周期方法 类组件可以通过生命周期方法(如…

react如何定义数据

react如何定义数据

React 中定义数据的常用方法 在 React 中,数据通常通过组件的状态(state)或属性(props)来定义和管理。以下是几种常见的方式: 使用 useState Hook 定义局部状态 适…

react中如何定义初始状态

react中如何定义初始状态

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

react如何定义全局变量

react如何定义全局变量

在React中定义全局变量 使用React.createContext创建全局上下文,适用于需要跨组件共享的状态或数据。 const GlobalContext = React.createCont…

react如何定义一哥数组

react如何定义一哥数组

定义数组的方法 在React中,可以通过多种方式定义和使用数组。以下是常见的几种方法: 使用useState钩子定义状态数组 import { useState } from 'react';…

react如何定义全局变量csdn

react如何定义全局变量csdn

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