enum Color{//枚举 RED,GREEN,YELLOW; } class Color1{//模仿枚举 private static int ordinal=-1; private Color1(){ ordinal++; } public static final Color1 RED=new Color1(); public static final Color1 GREEN=new Color1(); public static final Color1 YELLOW=new Color1(); public int ordinal(){ return ordinal; } }
在这里我只模仿了获取枚举的下标,大家有兴趣可以模仿一下其他方法
补充一下,枚举是允许写带参的构造方法的,不过构造方法要是private,还可以拥有成员变量,这个就不限定访问权限,实例:
enum ABC{ A(3),B(2),C(3);//带有参数的枚举,其中参数类型是int private int value;//成员变量 private ABC(int value){//私有的构造方法 this.value=value; } /** * System.out.println(A)输出的是自己想要的值,super.toString();return的是name */ @Override public String toString() { return String.valueOf(value); } }