黑马程序员技术交流社区
标题:
枚举方面的一个问题~
[打印本页]
作者:
李春阳
时间:
2012-6-5 20:02
标题:
枚举方面的一个问题~
下面是代码:
public enum enumDemo {
RED{
public numDemon ext(){
return GREEN;
}
},GREEN{
public numDemo next(){
return YELLOW;
}
},YELLOW{
public numDemo next(){
return RED;
}
};
public abstract numDemo next(); //抽象方法
}
我记得不应该是类里面方法是抽象的话,类也应该为抽象类吗?
为什么这里类没有加abstract呢?
作者:
何拴绪
时间:
2012-6-5 20:13
enum 是一个抽象类,是枚举的所有的公共基类,enumDemo的类型就是一个enum,所以enum就相当于一个修饰符。
个人的理解,希望帮助你理解。
作者:
王广丛
时间:
2012-6-12 11:36
enum关键词就有了abstract的含义,因为enum类是不允许其他的类进行创建实例的,
抽象类中不一定包含抽象方法,但是包含抽象方法的类一定要被声明为抽象类。关于这个问题我建议你可以去看一下
张孝祥老师的 “
13_黑马程序员_张孝祥_Java基础加强_用普通类模拟枚举的实现原理”
这个视频里面有普通类模拟了一个
枚举类,这里面讲的很清楚,enum修饰的是不能被创建实例的,所以enum本来就有abstract的意思
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2