当前位置:首页 > Java

java如何设置枚举

2026-03-25 10:54:15Java

设置枚举的基本语法

在Java中,枚举是一种特殊的类,用于表示一组固定的常量。枚举使用enum关键字定义,常量之间用逗号分隔。

public enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

枚举的属性和方法

枚举可以包含属性和方法,为每个枚举常量提供更多信息或行为。

public enum Planet {
    MERCURY(3.303e+23, 2.4397e6),
    VENUS(4.869e+24, 6.0518e6),
    EARTH(5.976e+24, 6.37814e6);

    private final double mass;
    private final double radius;

    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }

    public double getMass() {
        return mass;
    }

    public double getRadius() {
        return radius;
    }
}

枚举的构造函数

枚举的构造函数必须是私有的,因为枚举常量在定义时就已经实例化,外部无法创建新的实例。

public enum Direction {
    NORTH("N"), SOUTH("S"), EAST("E"), WEST("W");

    private final String abbreviation;

    Direction(String abbreviation) {
        this.abbreviation = abbreviation;
    }

    public String getAbbreviation() {
        return abbreviation;
    }
}

枚举的抽象方法

枚举可以定义抽象方法,每个枚举常量必须实现该方法。

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

枚举的常用方法

枚举提供了一些内置方法,如values()valueOf()

Day[] days = Day.values(); // 返回所有枚举常量
Day day = Day.valueOf("MONDAY"); // 根据名称返回枚举常量

枚举与switch语句

枚举常用于switch语句,提供清晰的逻辑分支。

Day day = Day.MONDAY;
switch (day) {
    case MONDAY:
        System.out.println("星期一");
        break;
    case TUESDAY:
        System.out.println("星期二");
        break;
    default:
        System.out.println("其他");
}

枚举实现接口

枚举可以实现接口,为所有枚举常量提供统一的行为。

java如何设置枚举

public interface Displayable {
    void display();
}

public enum Color implements Displayable {
    RED {
        public void display() {
            System.out.println("红色");
        }
    },
    GREEN {
        public void display() {
            System.out.println("绿色");
        }
    };
}

分享给朋友:

相关文章

如何学习好java

如何学习好java

掌握Java基础知识 学习Java的第一步是掌握其基础知识,包括数据类型、变量、运算符、控制流语句(如if-else、for循环、while循环)以及数组。这些是构建更复杂程序的基石。可以通过在线教程…

java下载功能vue实现

java下载功能vue实现

Java 后端文件下载功能实现 后端需提供文件下载的接口,通常使用 HttpServletResponse 实现。以下是一个简单的 Java Spring Boot 示例: @GetMapping(…

react数据如何设置

react数据如何设置

设置React数据的常用方法 在React中,数据管理主要通过组件状态(state)和属性(props)实现,以下是几种核心方法: 使用useState钩子管理组件状态 适用于函数组件中的局部状态管…

react框架如何设置404

react框架如何设置404

在React中设置404页面 在React应用中,404页面通常用于处理未定义的路由。可以通过React Router来实现这一功能。 安装React Router: npm install re…

react 后如何设置端口

react 后如何设置端口

修改默认端口的方法 在React项目中,默认的开发服务器端口通常是3000。如果需要更改端口,可以通过以下几种方式实现。 通过环境变量设置端口 在项目根目录下创建或修改.env文件,添加以下内容:…

react16如何设置priority

react16如何设置priority

React 16 中的优先级设置 在 React 16 中,优先级的设置主要通过 React.unstable_runWithPriority API 实现。该 API 允许开发者为特定的回调函数分配…