文章目录
- 1. 枚举例子
- 2. 接口的实现
- 3. 枚举中定义抽象方法
enum 定义了枚举类型,其继承于 Enum 枚举类
1. 枚举例子
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.Map;class EnumDemo {public enum Color{RED, GREEN, BLUE}public static void main(String[] args){Color c = Color.RED;System.out.println(c);c = Color.GREEN;System.out.println(c);c = Color.BLUE;System.out.println(c);// 可用于 switch switch(c){case RED:{System.out.println("红色");break;}case GREEN:{System.out.println("绿色");break;}case BLUE:{System.out.println("蓝色");break;}default:{System.out.println("nothing");}}// for(Color col : Color.values())System.out.println(col.name() + "--->" + col.ordinal());// RED--->0// GREEN--->1// BLUE--->2// EnumMapEnumMap<Color, String> eMap = new EnumMap<Color, String>(Color.class);eMap.put(Color.RED, "红色");eMap.put(Color.GREEN, "绿色");eMap.put(Color.BLUE, "蓝色");for(Map.Entry<Color, String> me : eMap.entrySet()){System.out.println(me.getKey() + " : " + me.getValue());}// RED : 红色// GREEN : 绿色// BLUE : 蓝色// EnumSetEnumSet<Color> eSet = EnumSet.allOf(Color.class);//全部内容设置到集合Iterator<Color> iter = eSet.iterator();while(iter.hasNext()){System.out.println(iter.next());}// RED// GREEN// BLUE}
}
enum Color{RED("红色"), GREEN("绿色"), BLUE("蓝色");private String name;public String getName(){return name;}public void setName(String name){this.name = name;}Color (String name){ // 枚举的构造不能为 publicthis.setName(name);}
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getName());}}
}
输出:
RED--->0 红色
GREEN--->1 绿色
BLUE--->2 蓝色
2. 接口的实现
- 每个元素都要实现
interface Info{public String getColor();
}
enum Color implements Info{RED{public String getColor(){return "红色";}},GREEN{public String getColor(){return "绿色";}},BLUE{public String getColor(){return "蓝色";}};
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getColor());}}
}
输出:
RED--->0 红色
GREEN--->1 绿色
BLUE--->2 蓝色
3. 枚举中定义抽象方法
- 每个元素都要实现抽象方法
enum Color {RED{public String getColor(){return "红色";}},GREEN{public String getColor(){return "绿色";}},BLUE{public String getColor(){return "蓝色";}};public abstract String getColor();
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getColor());}}
}