Enum类
严格意义上来讲枚举不属于一种新的结构,它的本质相当于是一个类,但是这个类默认会继承Enum类。
观察Enum类的基本定义:
public abstract class Enum<E extends Enum>
extends Object
implements Comparable<E>, Serializable
现在定义的枚举类的类型就是Enum中所使用的E类型。下面观察Enum类中定义的方法:
方法名称 | 类型 | |
---|---|---|
protected Enum(String name,int ordinal) | 构造 | 传入名字和序号 |
public final String name() | 普通 | 获得对象的名字 |
public final int ordinal() | 普通 | 获取对象序号 |
范例:观察Enum类的存在
enum Color{ //枚举类
RED,GREEN,BLUE; //实例化对象
}
class JavaDemo
{
public static void main(String args[]){
for(Color c : Color.values()){
System.out.println(c.ordinal()+"-"+c.name());
}
}
}
结果:
0-RED
1-GREEN
2-BLUE
在枚举之中每一个对象的序号都是根据枚举对象的定义顺序来决定的。
**面试题:**请解释enum与Enum的区别?
- enum是JDK1.5之后提供的关键字,用于定义枚举类;
- Enum是一个抽象类,所有使用enum定义的类就默认继承了此类