黑马程序员技术交流社区
标题:
关于枚举的问题,百思不得其解,求解答
[打印本页]
作者:
李春阳
时间:
2012-6-5 16:15
标题:
关于枚举的问题,百思不得其解,求解答
前段时间没事儿练习小程序,参考别人代码时,发现了枚举类的一个问题:
枚举的代码是:
public enum eDemo {
RED{
public eDemo next(){
return GREEN;
}
},GREEN{
public eDemo next(){
return YELLOW;
}
},YELLOW{
public eDemo next(){
return RED;
}
};
public abstract eDemo next();
//抽象方法
}
我记得不应该是类里面方法是抽象的话,类也应该为抽象类吗?
为什么这里类没有加abstract呢?很奇怪~
作者:
郭宁
时间:
2012-6-5 16:35
public abstract class Enum<E extends Enum<E>>extends Objectimplements Comparable<E>, Serializable这是所有 Java 语言枚举类型的公共基本类。
还用说什么么?
作者:
闾丘日月
时间:
2012-6-5 17:14
楼主,eDemo就是一个抽象类,而里面的
RED{
public eDemo next(){
return GREEN;
}
是其实例对象,这个相当于 eDemo RED = new eDemo(){
public eDemo next(){
return GREEN;
}
这种写法是用普通的类来模拟枚举的写法。
你理解的没错eDemo是抽象类,所以它没有声明为public class 而声明的public enum
作者:
伊文龙
时间:
2012-6-5 17:20
沙发正解啊~
作者:
胡团乐
时间:
2012-6-5 19:13
枚举类有自己的特性:不能被继承,前面不能被abstract修饰,这是枚举不同于一般类的特别之处;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2