java中抽象枚舉類

package cn.itcast.enumeration2;

import org.junit.Test;

/**
 * @author 作者 Jiruyi:
 * @version 創建時間:2016年6月20日 下午7:15:54 類說明
 */
public class Demo1 {

 public static void main(String[] args) {

 }

 @Test
 public void test() throws Exception {
  print(Grade.A);
  print(Grade.B);
  print(Grade.C);
  print(Grade.D);
  print(Grade.E);
 }

 public void print(Grade grade) {
  String value = grade.localValue();
  System.out.println(value);
 }
}

// 如何定義枚舉的構造函數和方法,去封裝更多的信息

enum Grade { // class
 A("100-90"){
  public String localValue(){
   return "優";
  }
 },
 B("89-80"){
  public String localValue(){
   return "良";
  }
 },
 C("79-70"){
  public String localValue(){
   return "一般";
  }
 },
 D("69-60"){
  public String localValue(){
   return "差";
  }
 },
 E("59-0"){
  public String localValue(){
   return "不及格";
  }
 }; // 相當於一個類的對象
 private String value; // 封裝每個對象對應的分數

 private Grade(String value) {
  this.value = value;
 }

 public String getValue() {
  return this.value;
 }
 
 public abstract String localValue();
 
}

/*
 * class Grade{
 *
 * private Grade() { // TODO Auto-generated constructor stub }
 *
 * 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(); }
 */
發佈了32 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章