Grade的构造方法不能加返回值类型(void)

解决方案 »

  1.   

    枚举中的每个实例会调用构造方法,构造方法不能有返回值的亲。把public void 去掉就行,顺便说一声,枚举是单例,构造方法也不能以public声明。
    public class Demo5
    {
    public void test()
    {
    print(Grade.B);
    } public void print(Grade g)
    {
    String s = g.getValue();
    System.out.println(s);
    } // 如何定义枚举的构造方法和字段,去封装更多的信息
    enum Grade
    {// A 100-90 B 89-80 C 79-70 D 69-60 E 59-0
    A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");
    private String value;// 封装每个对象对应 的分数 Grade(String value)
    {
    this.value = value;
    } public String getValue()
    {// 返回value的值
    return this.value;
    }
    }}