java枚举类

java枚举类

1.介绍

Java枚举类是一种特殊类型的类,它代表一组常量值,通常用于表示固定的、预定义的一组值。枚举类在Java中是一种非常有用的数据类型,它提供了更好的可读性和类型安全性,比起使用普通常量或整数等数据类型更具优势。在Java中,枚举类是通过enum关键字定义的。

2.详细讲解

以下是Java枚举类的详细知识:

  1. 定义枚举类:

    通过enum关键字可以定义一个枚举类。枚举类的实例是常量,通常用大写字母表示。

    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }
    
  2. 枚举常量:

    在枚举类中定义的常量称为枚举常量,它们是枚举类的实例。每个枚举常量都是唯一的,代表了枚举类中的一个固定值。

    Day today = Day.MONDAY;
    
  3. 枚举方法:

    枚举类可以定义方法,可以在枚举常量中为每个值添加自定义的行为。

    enum Day {
        MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
    
        public String getDayName() {
            switch (this) {
                case MONDAY:
                    return "Monday";
                case TUESDAY:
                    return "Tuesday";
                // 其他枚举常量的处理
                default:
                    return "Unknown";
            }
        }
    }
    
  4. 枚举构造函数和字段:

    枚举类可以有构造函数,但构造函数只能是私有的。枚举常量在定义时就会调用私有构造函数来创建实例。

    enum Day {
        MONDAY("Mon"), TUESDAY("Tue"), WEDNESDAY("Wed"), THURSDAY("Thu"), FRIDAY("Fri"),
        SATURDAY("Sat"), SUNDAY("Sun");
    
        private final String abbreviation;
    
        private Day(String abbreviation) {
            this.abbreviation = abbreviation;
        }
    
        public String getAbbreviation() {
            return abbreviation;
        }
    }
    
  5. 使用枚举类:

    可以通过枚举常量来访问枚举类的成员。

    Day today = Day.MONDAY;
    System.out.println(today); // 输出 "MONDAY"
    System.out.println(today.getDayName()); // 输出 "Monday"
    System.out.println(today.getAbbreviation()); // 输出 "Mon"
    
  6. name():返回常量值

  7. ordinal():返回定义的常量的顺序,从0开始计数

如下图所示:

{% asset_img image-20230801151543493.png %}

  1. 枚举的其他特性:
    • 枚举类可以实现接口,让枚举常量具有接口中定义的行为。
    • 可以在枚举类中定义抽象方法,然后为每个枚举常量提供具体实现。
    • 枚举类可以用在switch语句中,代替常规的整数或字符型数据。

总结来说,Java枚举类是一种非常方便的数据类型,可以帮助我们定义一组固定的常量值,并为每个值提供自定义的行为。使用枚举类可以使代码更加清晰、可读,并提高代码的类型安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值