Home >Java >JavaBase >Detailed explanation of usage of java enumeration type enum

Detailed explanation of usage of java enumeration type enum

hzc
hzcOriginal
2020-06-17 15:18:1616008browse

Detailed explanation of usage of java enumeration type enum

JDK1.5 introduces a new type - enumeration. Although it is a "small" function in Java, it brings "big" convenience to my development.

Senior brother, I will add my own understanding to help you understand.

Usage 1: Constants

Before JDK1.5, we defined constants as: public static final.... . Well, now with enumerations, related constants can be grouped into an enumeration type, and enumerations provide more methods than constants.

Java code

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

Usage 2: switch

The switch statement before JDK1.6 only supports int, char, enum types, using enumerations , can make our code more readable.

Java code

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;          
       }      
     }  
}

Usage three: Add new methods to the enumeration

If you plan to customize your own method, you must add it to the enum instance Add a semicolon at the end of the sequence. And Java requires that the enum instance must be defined first.

Java code

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; 
     }  }  
}

Usage 4: Overriding the enumeration method

The following is an example of overriding the toString() method.

Java code

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;
  }  
 }

Usage five: Implement the interface

All enumerations inherit from the java.lang.Enum class. Since Java does not support multiple inheritance, enumeration objects cannot inherit from other classes.

Java code

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);
      }  
  }

Recommended tutorial: "java tutorial"

The above is the detailed content of Detailed explanation of usage of java enumeration type enum. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn