枚举类知识点总结

枚举类知识点总结

枚举类是Java中一种特殊的类,它用于定义一组有限的常量集合。以下是关于枚举类的一些重要知识点:

  1. 枚举类的定义

    枚举类的定义通过使用 enum 关键字,后面跟着枚举类型的名称以及枚举常量的列表。

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

== 枚举常量是枚举类型的实例,它们是预定义的、唯一的、不可改变的。==

在上述例子中,`SUNDAY`、`MONDAY`等就是枚举常量。
  1. 枚举类的方法

    你可以在枚举类中定义方法,每个枚举常量都可以调用这些方法。

    enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
        
        public void printGreeting() {
            System.out.println("Hello from " + this.name());
        }
    }
    
  2. 访问枚举常量

    可以通过枚举类的名称和枚举常量的名称来访问它们。

    Day today = Day.MONDAY;
    
  3. 使用 switch 语句

    由于枚举类型是有限的,通常在代码中使用 switch 语句来处理不同的枚举常量。

    switch (today) {
        case SUNDAY:
            // 处理星期天
            break;
        case MONDAY:
            // 处理星期一
            break;
        // ...
    }
    
  4. 枚举类的构造函数和属性

    枚举类可以有自己的构造函数、属性和方法,但枚举常量必须在枚举类型的开头列出,并且每个枚举常量后面要用逗号分隔。

    enum Season {
        SPRING("Warm"), SUMMER("Hot"), AUTUMN("Cool"), WINTER("Cold");
        
        private String description;
        
        private Season(String description) {
            this.description = description;
        }
        
        public String getDescription() {
            return description;
        }
    }
    
  5. 枚举类的 values() 方法

    values() 方法返回一个包含枚举类型所有常量的数组。

    Day[] days = Day.values();
    
  6. 枚举类的 valueOf() 方法

    valueOf() 方法可以将一个字符串转换为相应的枚举常量。

    Day myDay = Day.valueOf("MONDAY"); // myDay 将会是 Day.MONDAY
    
  7. 枚举类的实现接口

    枚举类可以实现接口,每个枚举常量都可以提供自己的实现。

    interface Behavior {
        void perform();
    }
    
    enum Mood implements Behavior {
        HAPPY {
            @Override
            public void perform() {
                System.out.println("I'm feeling happy!");
            }
        },
        SAD {
            @Override
            public void perform() {
                System.out.println("I'm feeling sad.");
            }
        },
        ANGRY {
            @Override
            public void perform() {
                System.out.println("I'm feeling angry!");
            }
        }
    }
    

学习测试代码

// 定义一个枚举类型
enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

public class Main1 {
    public static void main(String[] args) {
        // 使用枚举类型
        Day today1 = Day.MONDAY;
        Day today2 = Day.valueOf("TUESDAY");
        
        // 输出今天是星期几
        switch (Day.valueOf("FRIDAY")) {
            case SUNDAY:
                System.out.println("今天是星期天");
                break;
            case MONDAY:
                System.out.println("今天是星期一");
                break;
            case TUESDAY:
                System.out.println("今天是星期二");
                break;
            case WEDNESDAY:
                System.out.println("今天是星期三");
                break;
            case THURSDAY:
                System.out.println("今天是星期四");
                break;
            case FRIDAY:
                System.out.println("今天是星期五");
                break;
            case SATURDAY:
                System.out.println("今天是星期六");
                break;
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值