下面是一个较复杂的 Java 枚举类型的示例。该枚举类型定义了一个交通灯(TrafficLight),每个枚举常量表示不同的灯(红灯、黄灯、绿灯)。枚举实现了一个接口 LightBehavior
,该接口包含一个抽象方法 action
。每个枚举常量都有自己的 action
方法实现,从而展示多态行为。
示例代码
LightBehavior.java
// 定义接口
interface LightBehavior {
void action();
}
TrafficLight.java
public enum TrafficLight implements LightBehavior {
RED(30) {
@Override
public void action() {
System.out.println("Stop! Red light for " + getDuration() + " seconds.");
}
},
YELLOW(5) {
@Override
public void action() {
System.out.println("Caution! Yellow light for " + getDuration() + " seconds.");
}
},
GREEN(30) {
@Override
public void action() {
System.out.println("Go! Green l