A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© izwj 中级黑马   /  2012-3-29 14:35  /  1860 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举类型的使用场合有哪些,视频为什么说它过时了呢

3 个回复

倒序浏览
因为枚举其实相当于类,枚举的功能可以用类来实现!以前的枚举中不能有方法,不知从什么时候开始,枚举中的成员可以有方法,他跟类很类似!
class A()
{
   string sun,sat;
}
enum A()
{
string sun,sat;
}
回复 使用道具 举报
枚举是一个特殊的类,它的每个元素值都是他的对象,枚举的好处在于可以限定对象的个数,比如红绿灯只有红绿黄三种,如果用枚举的话,就可以在编译期间就限定只能是这三个,其他的就通不过编译阶段。这样就可以是问题在编译期间就被发现不会推到运行阶段
回复 使用道具 举报
JDK1.5以后的新特性。编译期间就被发现不会推到运行阶段,同意,这一点是出于安全的更新吧。使用普通变量的的方式在开发阶段无法实现这一目标。
我发现枚举的使用很常见,张老师的交通灯管理系统和银行业务调度系统都优先使用了枚举类型。

定义枚举类型其实就是在定义一个类,只不过很多细节由编译器帮你补齐了,所以,某种程度上enum关键词的作用就像是class或interface.
当使用enum定义枚举类型时,实际上所定义出来的类型是继承自java.lang.Enum类。而每个被枚举的成员其实就是定义的枚举类型的一个实例,它们都被默认为final。无法改变常数名称所设定的值,它们也是public和static的成员,这与接口中的常量限制相同。可以通过类名称直接使用它们。

所以,枚举类型在解决问题时是需要考虑的,在合适的环境下使用效果很好。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马