package cn.lnu.enumeration2; import org.junit.Test; //��ζ�������󷽷���ö�� enum Grade{ //ʹ��enum�ؼ��ֶ��� ö����,A 100-90 �� B 89-80 �� C 79-70 һ�� D 69-60 �� E 59-0 ������ A("100-90"){//ö�����A���� public String localeValue(){ return "��"; } } ,B("89-80"){ public String localeValue(){ return "��"; } } ,C("79-70"){ public String localeValue(){ return "һ��"; } } ,D("69-60"){ public String localeValue(){ return "��"; } } ,E("59-0"){ public String localeValue(){ return "������"; } }; //Object private String value; private Grade(String value){//ö����Ĺ��췽��������˽�еģ���������ڸ�print�������ε�ʱ����Ϊnew�����ö�ٶ���֮�������ֵ����ʱ���Ͳ���ö������ this.value=value; } public String getValue(){ return this.value; } public abstract String localeValue();//����ö�ٵij��󷽷������ö�ٴ��г��󷽷�����ô���ö����ÿ�������ʱ��ͱ���ʵ��������� } //�ȼ���������Ķ��� /*class Grade{ private Grade(){ } public static final Grade A=new Grade(); public static final Grade B=new Grade(); public static final Grade C=new Grade(); public static final Grade D=new Grade(); public static final Grade E=new Grade(); }*/ public class Demo2 { @Test public void test(){//ͨ������ö��������޶�print�����IJ���ֻ�ܽ������޵ļ�������������A,B,C,D,E print(Grade.D);//B } public void print(Grade g){ String value=g.getValue(); System.out.println(value+":"+g.localeValue()); } }