黑马程序员技术交流社区
标题:
带上了抽象方法的enum枚举,前面为什么不能加abstract修饰符
[打印本页]
作者:
目标
时间:
2014-3-19 15:50
标题:
带上了抽象方法的enum枚举,前面为什么不能加abstract修饰符
带上了抽象方法的enum枚举,前面为什么没有加abstract修饰符。
public enum TrafficLamp{
RED{
public TrafficLamp nextlamp(){
return GREEN;
}
},GREEN{
public TrafficLamp nextlamp(){
return YELLOW;
}
},YELLOW{
public TrafficLamp nextlamp(){
return RED;
}
};
public abstract TrafficLamp nextlamp();
}
复制代码
就是这样规定的,还是怎么回事?求解答
作者:
just_nnnnx
时间:
2014-3-19 16:50
zengming13 发表于 2014-3-19 16:20
因为枚举的父类是Enum,而Enum类被abstract修饰
public abstract class Enum
枚举不能new对象,是因为枚举的构造函数是private的,跟枚举的成员是对象没mao盾吧。正因为有了枚举的构造函数是私有的,子类不能访问枚举的构造函数,所以不能继承啊
作者:
75100313
时间:
2014-3-19 19:24
本帖最后由 75100313 于 2014-3-19 19:35 编辑
enum是一个特定的类型,
所有的枚举都是类java.lang.Enum的隐试子类
作者:
just_nnnnx
时间:
2014-3-20 09:45
zengming13 发表于 2014-3-19 16:20
因为枚举的父类是Enum,而Enum类被abstract修饰
public abstract class Enum
抽象类不一定要有抽象方法,设定为抽象类只是为了不能被实例化,但有抽象方法一定要加abstract
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2