1、枚举类基础(enum 有点像 class)
定义枚举类相当于定义类,只不过这个类有多少实例都是固定创建了的。
枚举类:Signal
package com.herenit.common.biz.util.enums;
/**
* 这个定义枚举相当于定义类,只不过这个类有多少实例都是固定创建了的。
* @author chenyufeng
*
*/
public enum Signal {
//java要求就是这样的:
//1、创建枚举实例
GREEN(1),
YELLOW(0),
RED(-1);
//2、定义枚举实例变量
private int code;
//3、定义枚举私有或者default构造器
private Signal(int code) {
this.code = code;
}
//4、实例变量的getter和setter方法(可有可无)
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
一般使用类:
package com.eimageglobal.common.biz.util.enums;
public class TrafficLight {
Signal color = Signal.RED;
public void change() {
switch (color) {
case RED:
color = Signal.GREEN;
break;
case GREEN:
color = Signal.YELLOW;
break;
case YELLOW:
color = Signal.RED;
break;
//枚举类都列举完毕的情况下可以不用default
default:
break;
}
}
public String toString() {
//要获得值,调实例变量的get方法即可
return "The traffic light is " + color.name();
}
public static void main(String[] args) {
TrafficLight trafficLight = new TrafficLight();
for (int i = 0; i < 7; i++) {
System.out.println(trafficLight);
trafficLight.change();
}
}
}