枚举类的定义和使用

枚举类

1.枚举类的定义

枚举类型的本质就是一个普通的类,但是它继承自Enum类,我们定义的每一个状态其实就是一个public static final的Status类型成员变量

//枚举类
public class No02 {
    public static void main(String[]args){
//  直接使用枚举类
        System.out.println(Status.RUNNING);
        System.out.println(Status.SLEEP);
    }
}

//枚举类
enum Status {
    RUNNING("睡觉"), STUDY("学习"), SLEEP("睡觉");   //无参构造方法被覆盖,创建枚举需要添加参数(本质就是调用的构造方法)

    private final String name;    //枚举的成员变量

    Status(String name) {    //覆盖原有构造方法(默认private,只能内部使用!)
        this.name = name;
    }

    public String getName() {   //获取封装的成员变量
        return name;
    }
}

### 枚举类定义使用方法 枚举类是一种特殊的数据类型,允许将一组有限的值作为常量来使用。以下是对枚举类定义使用的详细说明。 #### 1. Java枚举类定义Java 中,枚举类通过 `enum` 关键字定义枚举类通常用于表示状态、选项或类别等具有离散值的变量[^1]。 ```java public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; } ``` 上述代码定义了一个名为 `Day` 的枚举类,包含七天的常量。每个常量都是该枚举类的一个实例[^1]。 #### 2. 枚举类的构造函数与方法 枚举类可以定义构造函数、字段方法。例如: ```java public enum Planet { MERCURY(3.303e+23, 2.4397e6), VENUS(4.869e+24, 6.0518e6); 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; } } ``` 上述代码中,`Planet` 枚举类包含两个字段:`mass` `radius`,并通过构造函数初始化这些字段。还提供了获取字段值的方法。 #### 3. 使用枚举类 可以通过多种方式使用枚举类,包括直接引用常量、遍历所有枚举值等。 ```java public class EnumTest { public static void main(String[] args) { Day today = Day.MONDAY; System.out.println("Today is " + today); for (Day day : Day.values()) { System.out.println(day); } } } ``` 上述代码展示了如何引用枚举常量以及如何遍历枚举类的所有值[^1]。 #### 4. JavaScript 中枚举类定义JavaScript 中,虽然没有内置的 `enum` 关键字,但可以通过对象实现类似的功能[^3]。 ```javascript const Color = { RED: "red", GREEN: "green", BLUE: "blue" }; Object.freeze(Color); // 冻结对象以防止修改 ``` 上述代码定义了一个名为 `Color` 的枚举对象,并通过 `Object.freeze` 方法确保其不可修改[^3]。 #### 5. 枚举类的应用场景 枚举类适用于需要定义一组固定值的场景,例如状态机、选项列表等。它提高了代码的可读性安全性,避免了使用字符串或整数常量带来的错误[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值