枚举Enmu
2017-01-11 11:40
351 查看
- 枚举类是一种特殊的类,单是和普通的类一样的是都有自己的成员变量、成员方法、构造器(只能使用private访问修饰符修饰) - 使用enmu定义的枚举类默认继承了java.lang.Enun类并且实现了java.lang.Seriablizable和java.lang.Comparable两个接口 - 枚举类的所有实例(枚举值)必须在枚举类的第一行显式的列出,否则这个枚举值永远不可能产生实例,列出这些实例(枚举值)时,系统会自动添加public static final修饰,无需程序员显示添加
定义一个枚举类
public enum WeekEnum{ //在第一行显示的列出七个枚举实例(枚举值),系统会自动添加 public static final修饰 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; }
带有构造方法的
package com.uds.glf; public enum WeekEnum { MONDAY("星期一"),FRIDAY("星期五"); private String date; private WeekEnum(String date){ this.date = date; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } } public class Test { /** * @param args */ public static void main(String[] args) { for (WeekEnum week : WeekEnum.values()) { System.out.println(week.getDate()); } } }
包含抽象方法的枚举类
package com.uds.glf; public enum Operation { PLUS{ @Override public double calculate(double x, double y) { // TODO Auto-generated method stub return 0; } }, MINUS{ @Override public double calculate(double x, double y) { // TODO Auto-generated method stub return 0; } }, TIMES{ @Override public double calculate(double x, double y) { // TODO Auto-generated method stub return 0; } }, DIVIDE{ @Override public double calculate(double x, double y) { // TODO Auto-generated method stub return 0; } }; public abstract double calculate(double x ,double y); }