定义一个枚举类
enum Color{
RED,GREEN,BLUE
}
1.如果想要定义自己的方法,必须在enum实例序列的最后添加一个分号;同时,必须先定义enum实例(在enum实例之前不能定义任何方法或属性)
2.我们有意识地将enum的构造器声明为private的,即使不声明为private,我们只能在enum定义的内部使用其构造enum实例;
3.所有的enum都继承自java.lang.Enum类,由于Java不支持多继承,所以你的enum不能再继承其他类;
4.enum要求其成员都是唯一的
public enum Oxwitch{
WEST("1"),
NORTH("2"),
EAST("3"),
SOUTH("4");
private String description;
//上面的实例比如WEST("1")就是使用了此方法构造
//将属性description和构造实例的传值建立了联系
private Oxwitch(String description){
this.description = description;
}
public String getDescription(){
return description;
}
}
枚举常用方法介绍
1.values()方法
首先enum类都继承自Enum类,然后values()是由编译器添加的static方法,最后如果将enum实例向上转型为Enum values()方法就不可访问了。
功能:获取enum实例的数组,严格保持其在enum中声明时的顺序
public class HelloTest{
public static void main(String[] args){
for(Oxwitch o :Oxwitch.values()){
println(o.name()); //name()方法返回enum实例声明时的名字
}
}
}
2.ordinal()方法
获取enum实例在声明时的次序,从0开始。例:
```java
public class HelloTest{
public static void main(String[] args){
for(Oxwitch o :Oxwitch.values()){
println(o.name() + “ ” + o.ordinal(); //name()方法返回enum实例声明时的名字
}
}
}
在其他地方使用枚举
1.enum可以在switch语句中使用
2.EnumSet是一种存储美剧类型的数据类型,类似于集合Set
3.EnumMap是一个特殊的Map,他要求其中的键(key)必须来自一个enum