溫馨提示×

溫馨提示×

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

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

枚舉如何在java項(xiàng)目中使用

發(fā)布時(shí)間:2020-11-17 15:03:04 來源:億速云 閱讀:109 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)枚舉如何在java項(xiàng)目中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

一、枚舉類型作為常量

package myenum; 
/** 
 * @author zzl 
 * 簡單的枚舉作為常量 
 */ 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println("color:"+c); 
    } 
  } 
} 
//輸出 
/** 
color:GREEN 
color:RED 
color:YELLOW 
*/ 

其實(shí)在更近一步的話我們可以輸出每個(gè)枚舉實(shí)例的具體位置

package myenum; 
/** 
 * @author zzl 
 * 簡單的枚舉作為常量 
 */ 
public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      System.out.println(c + " position "+c.ordinal()); 
    } 
  } 
} 
//輸出結(jié)果 
/** 
GREEN position 0 
RED position 1 
YELLOW position 2 
*/  

二、與swith結(jié)合使用

public enum Color { 
  GREEN,RED,YELLOW; 
  public static void main(String[] args) { 
    Color c = RED; 
    switch (c) { 
    case RED: 
      System.out.println("紅色"); 
      break; 
    case GREEN: 
      System.out.println("綠色"); 
      break; 
    case YELLOW: 
      System.out.println("黃色"); 
      break; 
    default: 
      break; 
    } 
  } 
} 
//輸出 
/** 
紅色 
*/ 

從上面的例子可以看出枚舉的多態(tài)性,其實(shí)可以講Color作為枚舉的超類,其中的實(shí)例在運(yùn)行時(shí)表現(xiàn)出多態(tài)。(如上面的輸出結(jié)果為紅色,下面的例子來驗(yàn)證這一特性。)

三、多態(tài)性(在Color中添加抽象方法)

public enum Color { 
  GREEN{ 
    void description(){ 
      System.out.println("綠燈行!"); 
    } 
  },RED{ 
    void description(){ 
      System.out.println("紅燈停!"); 
    } 
  },YELLOW{ 
    void description(){ 
      System.out.println("黃燈亮了等一等!"); 
    } 
  };//如果枚舉中有方法則左后一個(gè)實(shí)例以“;”結(jié)束 
  abstract void description(); 
  public static void main(String[] args) { 
    for (Color c : values()) { 
      c.description(); 
    } 
  } 
 
} 
<pre name="code" class="java">//輸出 
/** 
綠燈行! 
紅燈停! 
黃燈亮了等一等! 
*/ 

四、利用構(gòu)造器為實(shí)例添加描述

public enum ColoStructure { 
  GREEN("綠色"),RED("紅色"),YELLOW("黃色");//如果枚舉中有方法則左后一個(gè)實(shí)例以“;”結(jié)束 
  public String description; 
  private ColoStructure(String des){ 
    this.description = des; 
  } 
  public static void main(String[] args) { 
    for (ColoStructure c : values()) { 
      System.out.println(c.description); 
    } 
  } 
} 
<pre name="code" class="java"><pre name="code" class="java">//輸出 
/** 
綠色 
紅色 
黃色 
*/ 

看完上述內(nèi)容,你們對枚舉如何在java項(xiàng)目中使用有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

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

AI