java枚举类总结

  本文记录一下java枚举类的使用与枚举实现原理。

一、枚举类的使用

  枚举类是Java中一种特殊的数据类型,用于定义一组常量。下面一起看看枚举类的相关语法吧。

1. 定义

  枚举类使用 enum 关键字来定义,可以包含一组枚举常量,每个枚举常量都是枚举类的一个实例,用逗号分隔,通常大写字母命名。

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

所有实例必须在枚举类的第一行显式列出,实例默认public static final 修饰
枚举类默认使用final修饰,枚举类不能被继承产生派生子类

2. 属性和方法

  枚举类可以包含属性和方法,可以为每个枚举常量指定不同的属性值。

public enum Day {
    SUNDAY(1), MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7);

    private int value;

    private Day(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰

3. 使用

  在其他类中可以通过枚举常量来访问枚举类的属性和方法,调用values() 方法获取所有枚举常量的数组,使用 valueOf() 方法根据名称获取枚举常量

public class EnumExample {
    public static void main(String[] args) {
        Day today = Day.MONDAY;
        System.out.println("Today is " + today);
        System.out.println("Value of today: " + today.getValue());

        Day[] days = Day.values();
        for (Day day : days) {
            System.out.println(day + " : " + day.getValue());
        }

        Day wednesday = Day.valueOf("WEDNESDAY");
        System.out.println("Wednesday value: " + wednesday.getValue());
    }
}

枚举类默认提供了一个values()方法,该方法可以很方便地遍历所有的枚举值

二、枚举类实现原理
  看到上面的代码会很疑惑,valueOf()我们根本没有定义过,那都是怎么来的呢?这就需要深入到枚举类的实现原理了。
  实际上在使用关键字enum定义枚举类型是默认继承了java.lang.Enum类。

在这里插入图片描述在这里插入图片描述

因此,Enum类的方法都可以被继承进行使用。



总结

   本文记录一下java枚举类的使用与枚举实现原理。
  希望对看到本文的你有帮助。


上一篇 Java中的序列化和反序列化详解!!
记得点赞收藏哦!!!
下一篇 java 方法引用
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值