Enum
protected Enum(String name,
int ordinal)单独的构造方法。程序员无法调用此构造方法。该构造方法用于由响应枚举类型声明的编译器发出的代码。
参数:
name - - 此枚举常量的名称,它是用来声明该常量的标识符。
ordinal - - 枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
那么我们都知道被私有化的构造函数,说明这个类不能让外部通过new的方式来创建,所以这时候它是不能被实例化。也就是说不能abstract修饰。
还有一个问题就是当我们在枚举类中定义了一个抽象方法,我们是需要使用枚举值来实现这个方法,是因为枚举值它的实现是通过调用私有的构造方法,在底层创建了对象,而这时候的枚举值就相当于= new 枚举(),那么因为它里边带有抽象方法,在我们创建对象时,是需要去实现这个构造方法,所以这时候就相当于new 枚举(){。。。。。。.//实现的过程}
enum Demo{
RED {
@Override
void show () {
// TODO Auto-generated method stub
}
},COL {
@Override
void show () {
// TODO Auto-generated method stub