疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

带抽象方法的枚举


 

        带抽象方法的枚举

  [java]

  enum Grade{//class

  A("100-90"){

  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){

  this.value = value;

  }

  public String getValue(){

  return this.value;

  }

  public abstract String localeValue();

  }

  记住:枚举中的抽象方法,在创建枚举的对象的时候要实例化。

  测试:

  [java]

  package com.feng.myemu;

  import org.junit.Test;

  public class Demo1 {

  @Test

  public void test(){

  print(Grade.B);

  }

  public void print(Grade g){

  String value = g.localeValue();

  System.out.println(value);

  }

  }