当前位置:首页 > 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中定义全局方法可以通过多种方式实现,具体取决于项目的架构和需求。以下是几种常见的方法: 使用Context API 通过React的Context API可以创建一个…

react如何定义整形变量

react如何定义整形变量

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

react如何定义一哥数组

react如何定义一哥数组

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

react不用redux如何定义全局变量

react不用redux如何定义全局变量

使用Context API React的Context API是官方推荐的全局状态管理方案。创建一个Context对象,通过Provider传递数据,子组件通过useContext或Consumer获…

js类型实现

js类型实现

JavaScript 类型实现 JavaScript 是一种动态类型语言,其类型系统在运行时确定。以下是 JavaScript 中类型的实现方式: 原始类型(Primitive Types) Jav…

jquery定义函数

jquery定义函数

jQuery 定义函数的方法 在 jQuery 中定义函数通常有两种主要方式:一种是直接在 jQuery 插件中扩展方法,另一种是定义普通的 JavaScript 函数并在 jQuery 中使用。以下…