溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java手動方式創(chuàng)建枚舉類示例

發(fā)布時間:2020-10-09 16:32:17 來源:腳本之家 閱讀:164 作者:cakincqm 欄目:編程語言

本文實例講述了Java手動方式創(chuàng)建枚舉類。分享給大家供大家參考,具體如下:

一 點睛

可以采用如下設計方式手動創(chuàng)建枚舉類

  • 通過private將構造器隱藏起來。
  • 把這個類的所有可能實例都使用public static final屬性來保存。
  • 如果有必要,可以提供一些靜態(tài)方法,允許其他程序根據(jù)特定參數(shù)來獲取與之匹配實例。

二 代碼

1 Season.java

public class Season {
  // 把Season類定義成不可變的,將其成員變量也定義成final的
  private final String name;
  private final String desc;
  public static final Season SPRING
      = new Season("春天", "趁春踏青");
  public static final Season SUMMER
      = new Season("夏天", "夏日炎炎");
  public static final Season FALL
      = new Season("秋天", "秋高氣爽");
  public static final Season WINTER
      = new Season("冬天", "圍爐賞雪");
  public static Season getSeason( int seasonNum ) {
    switch (seasonNum) {
      case 1:
        return SPRING;
      case 2:
        return SUMMER;
      case 3:
        return FALL;
      case 4:
        return WINTER;
      default:
        return null;
    }
  }
  // 將構造器定義成private訪問權限
  private Season( String name, String desc ) {
    this.name = name;
    this.desc = desc;
  }
  // 只為name和desc提供getter方法
  public String getName() {
    return this.name;
  }
  public String getDesc() {
    return this.desc;
  }
}

2 SeasonTest.java

public class SeasonTest
{
  public SeasonTest(Season s)
  {
   System.out.println(s.getName() +
     ",這真是一個"+ s.getDesc() + "的季節(jié)");
  }
  public static void main(String[] args)
  {
   // 直接使用Season的FALL常量代表一個Season對象
   new SeasonTest(Season.FALL);
  }
}

三 運行

秋天,這真是一個秋高氣爽的季節(jié)

更多java相關內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O計入門與進階教程》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI