当前位置:首页 > 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);
}

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

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

相关文章

react当中如何定义路由格式

react当中如何定义路由格式

在React中定义路由格式 React中通常使用react-router-dom库来管理路由。以下是定义路由的常见方法: 安装react-router-dom 需要先安装路由库: npm inst…

react如何定义整形变量

react如何定义整形变量

在React中定义整型变量 在React中,变量定义遵循JavaScript语法,JavaScript中没有严格的整型(integer)类型,所有数字都以浮点数(number)类型存储。可以通过以下方…

react如何获取字段的类型

react如何获取字段的类型

获取字段类型的常见方法 在React中获取字段类型通常涉及对组件props或state中字段的类型检查。以下是几种常用方法: 使用PropTypes进行类型检查 React提供了PropTypes库…

react如何定义一个组件

react如何定义一个组件

定义 React 组件的两种主要方式 函数组件 使用 JavaScript/TypeScript 函数定义,适用于无状态或使用 Hooks 的组件: function Welcome(props)…

jquery定义数组

jquery定义数组

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

java如何定义变量

java如何定义变量

定义变量的基本语法 在Java中,变量定义需要明确指定数据类型、变量名,并可选择初始化值。语法格式如下: 数据类型 变量名 [= 初始值]; 示例: int age = 25;…