程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 詳解java枚舉用法及實例

詳解java枚舉用法及實例

編輯:關於JAVA

詳解java枚舉用法及實例。本站提示廣大學習愛好者:(詳解java枚舉用法及實例)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解java枚舉用法及實例正文


一、枚舉類型作為常量

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 
*/ 

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

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()); 
    } 
  } 
} 
//輸出結果 
/** 
GREEN position 0 
RED position 1 
YELLOW position 2 
*/  

二、與swith結合使用

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; 
    } 
  } 
} 
//輸出 
/** 
紅色 
*/ 

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

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

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

四、利用構造器為實例添加描述

public enum ColoStructure { 
  GREEN("綠色"),RED("紅色"),YELLOW("黃色");//如果枚舉中有方法則左後一個實例以“;”結束 
  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">//輸出 
/** 
綠色 
紅色 
黃色 
*/ 

希望本文可以幫到有需要的朋友

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved