publicclassTestEnum {//传统方式privateint color;
publicvoidtest(){
//这里不会报错,但是10000不属于规定的范围this.color = 10000; //Color1.RED;
}
}
class Color1{
publicstaticfinalint RED = 1;//红灯亮为1publicstaticfinalint GREEN = 2;//绿灯亮为2publicstaticfinalint YELLOW = 3;//黄灯亮为3
}
第二种方式
publicclassTestEnum {//第二种方式private Color2 color;
publicvoidtest(){
this.color = Color2.RED; //避免 new Color2();
}
}
class Color2{
//构造方法私有化privateColor2(){}
publicstaticfinal Color2 RED = new Color2();//红灯亮为1publicstaticfinal Color2 GREEN = new Color2();//绿灯亮为2publicstaticfinal Color2 YELLOW = new Color2();//黄灯亮为3
}