java枚举类总结
- 一、枚举类的使用
- 1. 定义
- 2. 属性和方法
- 3. 使用
- 总结
本文记录一下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 方法引用 |