- 枚举类是一种特殊的数据类型,可以理解为一个数组,数组成员为特定的对象
- 枚举类不能在外面创建对象,在类里面就包含了一组特定的对象,每个对象有着相同数量的属性
- 枚举类的对象放在最前面,且对象们的顺序就是对应的索引
- 枚举类中的对象是静态的,不能修改的,是被public和final修饰的对象
- 枚举类的构造方法默认用private修饰,所以无法在外面创建对象
- 枚举类的方法的参数个数应与对象的属性个数一致
- 枚举类可以作为内部类进行声明
- enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口,因此继承了java.lang.Enum 类中的values(), ordinal() 和 valueOf() 方法
- 可以遍历枚举类中的对象
- 可以按照索引取枚举类中的某一个值
- values() 返回枚举类中所有的值。
- ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。
- valueOf()方法返回指定字符串值的枚举常量。
int c = City.BEIJING.code
for (City i : City.values()) {
System.out.println(i);
System.out.println(i.ordinal());
}
System.out.println(City.valueOf("BEIJING"));
enum City{
BEIJING(name:"北京", code:1001),
SHANGHAI(name:"上海", code:1002);
public String name;
public int code;
private City(String name, int code){
this.name = name;
this.code = code;
}
}