久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JAVA 枚舉(enum)詳解

      JAVA 枚舉(enum)詳解

      Java 枚舉是一個(gè)特殊的類,一般表示一組常量,比如一年的 4 個(gè)季節(jié),一個(gè)年的 12 個(gè)月份,一個(gè)星期的 7 天,方向有東南西北等。

      Java 枚舉類使用 enum 關(guān)鍵字來(lái)定義,各個(gè)常量使用逗號(hào) , 來(lái)分割。

      例如定義一個(gè)顏色的枚舉類。

      enum Color  {    RED, GREEN, BLUE;  }

      以上枚舉類 Color 顏色常量有 RED, GREEN, BLUE,分別表示紅色,綠色,藍(lán)色。

      使用實(shí)例:

      enum Color {   RED, GREEN, BLUE; }   public class Test {   // 執(zhí)行輸出結(jié)果   public static void main(String[] args)   {     Color c1 = Color.RED;     System.out.println(c1);   } }

      執(zhí)行以上代碼輸出結(jié)果為:

      RED

      內(nèi)部類中使用枚舉

      枚舉類也可以聲明在內(nèi)部類中:

      public class Test {   enum Color   {     RED, GREEN, BLUE;   }     // 執(zhí)行輸出結(jié)果   public static void main(String[] args)   {     Color c1 = Color.RED;     System.out.println(c1);   } }

      執(zhí)行以上代碼輸出結(jié)果為:

      RED

      每個(gè)枚舉都是通過(guò) Class 在內(nèi)部實(shí)現(xiàn)的,且所有的枚舉值都是 public static final 的。

      以上的枚舉類 Color 轉(zhuǎn)化在內(nèi)部類實(shí)現(xiàn):

      class Color {    public static final Color RED = new Color();    public static final Color BLUE = new Color();    public static final Color GREEN = new Color(); }

      迭代枚舉元素

      可以使用 for 語(yǔ)句來(lái)迭代枚舉元素:

      enum Color {   RED, GREEN, BLUE; } public class MyClass {  public static void main(String[] args) {   for (Color myVar : Color.values()) {    System.out.println(myVar);   }  } }

      執(zhí)行以上代碼輸出結(jié)果為:

      RED
      GREEN
      BLUE

      在 switch 中使用枚舉類

      枚舉類常應(yīng)用于 switch 語(yǔ)句中:

      enum Color {   RED, GREEN, BLUE; } public class MyClass {  public static void main(String[] args) {   Color myVar = Color.BLUE;    switch(myVar) {    case RED:     System.out.println("紅色");     break;    case GREEN:      System.out.println("綠色");     break;    case BLUE:     System.out.println("藍(lán)色");     break;   }  } }

      執(zhí)行以上代碼輸出結(jié)果為:

      藍(lán)色

      values(), ordinal() 和 valueOf() 方法

      enum 定義的枚舉類默認(rèn)繼承了 java.lang.Enum 類,并實(shí)現(xiàn)了 java.lang.Seriablizable 和 java.lang.Comparable 兩個(gè)接口。

      values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 類中:

      • values() 返回枚舉類中所有的值。
      • ordinal()方法可以找到每個(gè)枚舉常量的索引,就像數(shù)組索引一樣。
      • valueOf()方法返回指定字符串值的枚舉常量。
      enum Color {   RED, GREEN, BLUE; }   public class Test {   public static void main(String[] args)   {     // 調(diào)用 values()     Color arr[] = Color.values();       // 迭代枚舉     for (Color col : arr)     {       // 查看索引       System.out.println(col + " at index " + col.ordinal());     }       // 使用 valueOf() 返回枚舉常量,不存在的會(huì)報(bào)錯(cuò) IllegalArgumentException     System.out.println(Color.valueOf("RED"));     // System.out.println(Color.valueOf("WHITE"));   } }

      執(zhí)行以上代碼輸出結(jié)果為:

      RED at index 0
      GREEN at index 1
      BLUE at index 2
      RED

      枚舉類成員

      枚舉跟普通類一樣可以用自己的變量、方法和構(gòu)造函數(shù),構(gòu)造函數(shù)只能使用 private 訪問(wèn)修飾符,所以外部無(wú)法調(diào)用。

      枚舉既可以包含具體方法,也可以包含抽象方法。 如果枚舉類具有抽象方法,則枚舉類的每個(gè)實(shí)例都必須實(shí)現(xiàn)它。

      enum Color {   RED, GREEN, BLUE;     // 構(gòu)造函數(shù)   private Color()   {     System.out.println("Constructor called for : " + this.toString());   }     public void colorInfo()   {     System.out.println("Universal Color");   } }   public class Test {     // 輸出   public static void main(String[] args)   {     Color c1 = Color.RED;     System.out.println(c1);     c1.colorInfo();   } }

      執(zhí)行以上代碼輸出結(jié)果為:

      Constructor called for : RED
      Constructor called for : GREEN
      Constructor called for : BLUE
      RED
      Universal Color

      推薦教程:《Java教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)