bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

使用Java怎么實現一個枚舉類接口-創新互聯

這篇文章將為大家詳細講解有關使用Java怎么實現一個枚舉類接口,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創新互聯為客戶提供專業的成都網站設計、成都網站制作、程序、域名、空間一條龍服務,提供基于WEB的系統開發. 服務項目涵蓋了網頁設計、網站程序開發、WEB系統開發、微信二次開發、手機網站制作設計等網站方面業務。

Java可以用來干什么

Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。

枚舉類可以實現一個或多個接口。與普通類實現接口完全一樣,枚舉類實現接口時,需要實現該接口所包含的方法。

如果需要每個枚舉值在調用同一個方法時呈現不同的行為,則可以讓每個枚舉值在{...}匿名塊中實現自己的業務邏輯。

public interface IGradeHandler {
  String getGrade(String studentName);
}
public enum GradeHandlerEnum implements IGradeHandler {
  //five grade levels A B C D E
  A("90~100") {
    @Override
    public String getGrade(String studentName) {
      return studentName + " Outstanding";
    }
  },
  E("0~59") {
    @Override
    public String getGrade(String studentName) {
      return studentName + " Fail";
    }
  };
  private String score;

  GradeHandlerEnum(String score) {
    this.score = score;
  }

  public String getScore() {
    return this.score;
  }

  public static void main(String[] args) {
    GradeHandlerEnum a = GradeHandlerEnum.A;
    GradeHandlerEnum e = GradeHandlerEnum.valueOf("E");
    System.out.println( a.getGrade("Lucy"));
    System.out.println( e.getGrade("Tom"));
  }
}

為了方便測試,示例只定義了A和E兩個等級,執行結果如下:

Lucy Outstanding
Tom Fail

反編譯枚舉類

在《Java枚舉抽象方法實例解析》中介紹了枚舉類型的簡單使用,現在有必要來了解一下它的基本實現原理。實際上在使用關鍵字enum創建枚舉類并編譯后,編譯器會生成一些相關的類,這些類繼承了Java API中的java.lang.Enum類,也就是說通過關鍵字enum創建的枚舉類在編譯后事實上也是一個類類型而且該類繼承自java.lang.Enum類。

IGradeHandler.class
GradeHandlerEnum.class
GradeHandlerEnum$1.class
GradeHandlerEnum$2.class

使用javac編譯GradeHandlerEnum.java文件后,生成四個class文件,其中,GradeHandlerEnum.class是枚舉類型,這也就驗證前面所說的使用關鍵字enum定義枚舉類并編譯后,編譯器會自動幫助我們生成一個與枚舉相關的類。使用jd-gui反編譯后的主要class文件如下:

import java.io.PrintStream;

public enum GradeHandlerEnum implements IGradeHandler {
// 編譯后生成兩個class文件GradeHandlerEnum$1和GradeHandlerEnum$2
 A("90~100"), E("0~59");
 
 private String score;
 //私有構造函數
 private GradeHandlerEnum(String paramString) {
  this.score = paramString;
 }
 
 public String getScore() {
  return this.score;
 }
 
 public static void main(String[] paramArrayOfString) {
//實例化枚舉實例,變量名由系統生成
  GradeHandlerEnum localGradeHandlerEnum1 = A;
  GradeHandlerEnum localGradeHandlerEnum2 = valueOf("E");
  System.out.println(localGradeHandlerEnum1.getGrade("Lucy"));
  System.out.println(localGradeHandlerEnum2.getGrade("Tom"));
 }
}
//枚舉值A對應的枚舉類
enum GradeHandlerEnum$1{
 GradeHandlerEnum$1(String paramString1) {
  super(paramString, paramInt, paramString1, null);
 }
 
 public String getGrade(String paramString) {
  return paramString + " Outstanding";
 }
}
//枚舉值B對應的枚舉類
enum GradeHandlerEnum$2{
 GradeHandlerEnum$2(String paramString1) {
  super(paramString, paramInt, paramString1, null);
 }
 
 public String getGrade(String paramString) {
  return paramString + " Fail";
 }
}

關于使用Java怎么實現一個枚舉類接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創新互聯建站vcdvsql.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站題目:使用Java怎么實現一個枚舉類接口-創新互聯
網站網址:http://vcdvsql.cn/article46/djjghg.html

成都網站建設公司_創新互聯,為您提供定制網站網站設計手機網站建設品牌網站設計品牌網站制作企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設