搜尋
首頁JavaJava基礎java枚舉類型enum用法詳解

java枚舉類型enum用法詳解

Jun 17, 2020 pm 03:18 PM
java

java枚舉類型enum用法詳解

JDK1.5引進了新的型別-枚舉。在 Java 中它雖然算個「小」功能,卻為我的開發帶來了「大」方便。

大師兄我又加上自己的理解,來幫助各位理解一下。

用法一:常數

##在JDK1.5 之前,我們定義常數都是:

public static final.... 。現在好了,有了枚舉,可以把相關的常數分組到一個枚舉類型裡,而且枚舉提供了比常數更多的方法。

Java程式碼

public enum Color {    RED, GREEN, BLANK, YELLOW  }

用法二:switch

JDK1.6之前的switch語句只支援int,char,enum類型,使用枚舉,能讓我們的程式碼可讀性更強。

Java程式碼

enum Signal {      
    GREEN, YELLOW, RED  
}  
public class TrafficLight {      
    Signal color = Signal.RED;
          public void change() { 
             switch (color) { 
               case RED:  
               color = Signal.GREEN;    
                 break;   
                 case YELLOW:              
                 color = Signal.RED;              
                     break;          
                 case GREEN:              
                 color = Signal.YELLOW;              
                     break;          
       }      
     }  
}

用法三:在枚舉中新增方法

如果打算自訂自己的方法,那麼必須在enum實例序列的最後加上一個分號。而 Java 要求必須先定義 enum 實例。

Java程式碼

public enum Color {      
  RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);      
  // 成员变量 
  private String name;      
  private int index;      
  // 构造方法     
  private Color(String name, int index) {        
  this.name = name;         
  this.index = index;     
 } 
 // 普通方法     
  public static String getName(int index) {        
     for (Color c : Color.values()) {              
           if (c.getIndex() == index) {                 
                 return c.name; 
      }          
   } 
    return null;     
 } 
 // get set 方法     
     public String getName() {       
        return name;
      } 
     public void setName(String name) {    
           this.name = name; 
     }      
     public int getIndex() {      
         return index; 
     }      
     public void setIndex(int index) { 
         this.index = index; 
     }  }  
}

  用法四:覆寫枚舉的方法

下面給出一個toString()方法覆蓋的例子。

Java程式碼

public enum Color {    
  RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);      
  // 成员变量      
  private String name;      
    private int index;      
    // 构造方法     
    private Color(String name, int index) { 
        this.name = name;
        this.index = index; 
     }      
//覆盖方法      @Override      
    public String toString() {       
   return this.index+"_"+this.name;
  }  
 }

用法五:實作介面

所有的枚舉都繼承自java.lang.Enum類別。由於Java 不支援多繼承,所以枚舉物件不能再繼承其他類別。

Java程式碼

public interface Behaviour {      
    void print();      
    String getInfo(); 
}  
public enum Color implements Behaviour{ 
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);     
       // 成员变量   
    private String name;      
        private int index;      
        // 构造方法      
        private Color(String name, int index) { 
           this.name = name; 
       this.index = index;     
    } 
 //接口方法      
         @Override      
         public String getInfo() {
           return this.name; 
     }     
 //接口方法     
         @Override      
         public void print() {
          System.out.println(this.index+":"+this.name);
      }  
  }

推薦教學: 《

java教學

以上是java枚舉類型enum用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器