<JAVA>枚举类型(enum)

匿名 (未验证) 提交于 2019-12-02 21:53:52

枚举理解:

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是

这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。

关键字:enum。

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

向枚举中添加新方法

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

实现接口

所有的枚举都继承自java.lang.Enum类。由于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);       }   }  

 

返回类型方法名称方法说明
int compareTo(E o) 比较此枚举与指定对象的顺序
boolean equals(Object other) 当指定对象等于此枚举常量时,返回 true。
Class<?> getDeclaringClass() 返回与此枚举常量的枚举类型相对应的 Class 对象
String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明
int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
String toString() 返回枚举常量的名称,它包含在声明中
static<T extends Enum<T>> T static valueOf(Class<T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。

 

原文:https://www.cnblogs.com/lreing/p/9222128.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!