编写一个交通信号灯的枚举类型,有红、黄、绿三种颜色。三种灯之间可以通过调用nextLamp方法返回下一种颜色的灯(每种灯需要重写next方法)
时间: 2024-02-25 14:56:48 浏览: 21
好的,以下是交通信号灯枚举类型的代码实现:
```java
public enum TrafficLamp {
RED {
@Override
public TrafficLamp nextLamp() {
return YELLOW;
}
},
YELLOW {
@Override
public TrafficLamp nextLamp() {
return GREEN;
}
},
GREEN {
@Override
public TrafficLamp nextLamp() {
return RED;
}
};
public abstract TrafficLamp nextLamp();
}
```
在上面的代码中,我们定义了一个TrafficLamp枚举类型,包含了红、黄、绿三种颜色,并实现了nextLamp方法,使得三种颜色的灯可以通过调用nextLamp方法返回下一种颜色的灯。每种灯都需要重写nextLamp方法,实现具体的灯色变化。
使用时,可以通过TrafficLamp.RED、TrafficLamp.YELLOW、TrafficLamp.GREEN来调用不同的灯色,如下所示:
```java
TrafficLamp currentLamp = TrafficLamp.RED;
TrafficLamp nextLamp = currentLamp.nextLamp();
System.out.println(nextLamp); // 输出YELLOW
```
希望这个例子能够帮助你理解如何使用枚举类型实现交通信号灯。