一、使用简单程序完成枚举的功能 例:使用简单类完成枚举操作 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 ; private Color(String name){ //构造方法私有化,同时设置颜色的名称 this.setName(name) ; //为颜色的名字赋值 } public String getName() { //取得颜色名称 return this.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 ; } } } } public class ColorDemo { public static void main(String args[]){ Color c1 = Color.RED ; //取得红色 System.out.println(c1.getName());//输出名字 Color c2 = Color.getInstance(3) ;//根据编号取得名字 System.out.println(c2.getName());//输出名字 } } 输出: 红色 蓝色 程序将Color类中的构造方法私有,之后在类中准备了若干个实例化对象,以后如果要取得 Color类的实例,则只能从RED、GREEN、BLUE3 个对象中取得,这样就有效地限制了对象 的 取得范围。 以上使用的Color对象指定的范围,是通过一个个常量对每个对象进行编号的。也就是说, 一个个的对象就相当于用常量表示了,所以,按照这个思路也可以直接使用一个接口规定 出一组常量的范围。 例:使用接口表示一组范围。 public interface Color{ public static final int RED = 1 ; //表示红色 public static final int GREEN = 2 ; //表示绿色 public static final int BLUE = 3 ; //表示蓝色 } 以上表示出的各个颜色是通过接口指定好的常量范围,与之前相比更加简单。但是这样做也会 存在另外一个问题,如果现在使用如下的代码: public class ColorDemo{ public static void main(String args[]){ System.out.println(Color.R...