分享人:北京分院 于博韬
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
枚举是一个比较重要的知识点
在之前做任务的时候简单的接触了一下,所以这次给大家介绍一下,抛砖引玉
那我们就开始吧
值类型枚举 (enumeration),是值类型的一种特殊形式, 它从 System.Enum 继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。 基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。 字段是静态文本字段,其中的每一个字段都表示常数。 所使用的语言给每个字段都分配一个基础类型的特定值。
java中的枚举类可以有构造函数、可以实现接口,但不能继承任何类,其在编译以后默认继承jdk内部的枚举类。
那么问题来了
什么时候需要使用枚举
当我们对于一些比较固定的常量的时候,使用枚举是很好的方法
在程序中这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
对于上述这种情况就比较适合使用枚举了
这里需要加点东西~
enum 的语法结构尽管和 class 的语法不一样,但是经过编译器编译之后产生的是一个class文件。
该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum
在例子中,以逗号隔开的,最后以分号结尾的,这部分叫做,这个枚举的实例。
也可以理解为,class new 出来的实例对象。这下就好理解了。只是,class,new对象, 可以自己随便new,想几个就几个,而这个enum关键字,他就不行,他的实例对象, 只能在这个enum里面体现。也就是说,他对应的实例是有限的。这也就是枚举的好处了,限制了某些东西的范围
http://blog.csdn.net/qq_27093465/article/details/52180865
百度,其他blog
感谢观看,如有出错,恳请指正
BY : 北京分院 于博韬