一,本章目标
掌握枚举的作用
可以使用enum关键字定义一个枚举类
二,具体内容
所谓的枚举,就是规定好指定的取值范围,所有的内容只能从指定的范围中取得。
使用简单类完成颜色的固定取值问题,也就是说,一个类只能产生几个固定的对象,使用对象私有化。
package 枚举的作用;
public class Demo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Color c1 = Color.RED;
System.out.println(c1.getName());
Color c2 = Color.getInstance(3);
System.out.print(c2.getName());
}
}
class Color{
public static final Color RED = new Color("红色");
public static final Color GREEN = new Color("绿色");
public static final Color BLUE = new Color("蓝色");
private String name;
public Color(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static Color getInstance(int i){
switch (i){
case 1:{
return RED;
}
case 2:{
return GREEN;
}
case 3:{
return BLUE;
}
default:{
return null;
}
}
}
}
此时,程序限定了所能去的对象范围,所以达到了枚举的作用,以上是一种枚举的使用方法,因为在一开始没有枚举的改良,所以有时候也会用接口来表示。
因为以上的所有取值都是直接通过数字来表示,所以操作的时候也存在问题。
颜色的相加,比如蓝加绿等于黄,这样子的操作并不会很明确,所以在JDK的1.5之前想实现这样的操作,则比较麻烦,所以之后引入了枚举的概念。
因为枚举已经指定好了范围,所以可以使用foreach进行全部输出。
还可以直接将内容咋SWITCH语句上使用:
三,总结