Java枚举用法详解:switch、自定义方法与接口实现

需积分: 50 4 下载量 188 浏览量 更新于2024-09-12 收藏 49KB DOC 举报
本文主要介绍了Java中的枚举(enum)特性及其多种用法,包括创建枚举、在switch语句中的应用、向枚举中添加方法、覆盖枚举方法以及实现接口。 在JDK1.5之后,枚举类型的引入为Java开发者提供了更方便的方式来定义和管理一组相关的常量。例如,创建一个`Color`枚举: ```java public enum Color { RED, GREEN, BLANK, YELLOW } ``` 枚举在switch语句中的使用能提高代码的可读性,如`TrafficLight`类中`change()`方法的例子: ```java enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } } ``` 在枚举中添加新方法是可能的,只要在所有枚举实例后加上分号,并确保先定义了枚举实例。例如,我们可以为`Color`枚举添加`getName()`方法: ```java public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); private String name; private int index; // 构造方法、普通方法和get set方法 } ``` 覆盖枚举的默认方法,如重写`toString()`: ```java @Override public String toString() { return this.index + "_" + this.name; } ``` 枚举可以实现接口,这在Java中是单继承的环境中非常有用。以下`Behavior`接口及两个实现该接口的枚举`Coffee`和`Dessert`: ```java public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour { // 枚举实现接口方法 } public interface Food { enum Coffee implements Food { BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO } enum Dessert implements Food { FRUIT, CAKE, GELATO } } ``` 枚举在Java中提供了一种安全、灵活且可扩展的方式来处理一组固定的值,它不仅限于简单的常量,还可以包含方法、实现接口,甚至组织成嵌套结构,极大地丰富了编程的灵活性。