枚举类(Enum Classes):定义一组有限的命名常量
枚举类是一种特殊的类,用于定义一组有限的命名常量。在 Java 中,枚举类型主要用于表示一组具有固定值的常量集合,这样可以提高代码的可读性和维护性。
定义枚举类
可以通过关键字 `enum` 来定义一个枚举类。每个枚举常量都被定义为枚举类的一个实例。
```java
public enum Season {
SPRING, SUMMER, AUTUMN, WINTER
}
```
枚举类中的方法
枚举类自动提供了一些方法,可以用于访问枚举常量。
- `values()` 方法:返回枚举类中所有的成员,以数组形式返回。
- `valueOf(String name)` 方法:将字符串类型的值转化为枚举类型的对象。
```java
Season[] seasons = Season.values();
Season summer = Season.valueOf("SUMMER");
```
枚举的使用
枚举类型可以在代码中代替整数或字符串常量,提高代码的可读性。它可以与 `switch` 语句一起使用,增加代码的可维护性。
```java
Season currentSeason = Season.SUMMER;
switch (currentSeason) {
case SPRING:
// 处理春季
break;
case SUMMER:
// 处理夏季
break;
case AUTUMN:
// 处理秋季
break;
case WINTER:
// 处理冬季
break;
}
```
枚举成员初始化
枚举成员可以附加属性,并通过构造方法初始化。每个枚举常量都可以有自己的属性和方法。
```java
public enum Season {
SPRING("春天"), SUMMER("夏天"), AUTUMN("秋天"), WINTER("冬天");
private String desc;
private Season(String desc) {
this.desc = desc;
}
public String getDesc() {
return desc;
}
}
```
在枚举类中,构造方法必须私有化,以确保只能在类内部使用。枚举成员的声明顺序必须先定义枚举常量,然后定义成员变量和方法。
枚举类在代码中提供了一种更加结构化和安全的方式来表示一组相关的常量,避免了使用散乱的整数或字符串常量。