enum枚举

作者: 路盲就是可以看到更多风景 | 来源:发表于2017-10-30 19:03 被阅读20次

enum枚举_腾讯视频

1.背景介绍

enum是什么?

enum是计算机编程语言中的一种数据类型:枚举类型.

enum全称enumeration,是jdk1.5中引入的特性,存放于java.lang包中

枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。

举个例子,颜色也可以定义成枚举类型,它可以包含你定义的任何颜色,当需要的时候,只需要通过枚举调用即可,另外比如说季节(春夏秋冬)、星期(星期一到星期日)等等这些具有共同投特征的数据都可以定义枚举。

2.知识剖析

枚举的使用规定

枚举的使用规定:

1:所有枚举值都是静态常量,不是变量,不能在程序中用赋值语句再对它赋值

2:枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2...只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量

3:枚举和其他类一样有自己的构造函数

4:enum不能使用extends关键字继承其他类,因为enum对象已经继承了java.lang.Enum(java是单一继承,不支持多继承)

3.常见问题

枚举有什么好处?

4.解决方案

1:枚举类型使代码更具可读性,理解清晰,易于维护

2:没有枚举前,我们定义常量都要使用public static final...有枚举后可以把相关的常量分组到一个枚举类型里

3:枚举提供了比常量更多的方法

4: 枚举类型可以将一个类型限制在可控制的范围内。

5:枚举类型是强类型的,从而保证了系统安全性

6:  枚举类型的默认值为0,因此,通常给枚举成员包含0值是有意义的,以避免0值游离于预定义集合,导致枚举变量保持非预定义值是没有意义的。

5.编码实战

举俩个简单的例子

6.扩展思考

什么时候需要使用到枚举

个人感觉还是范围限定的作用比较重要,多路分发,应该属于应用,int也能实现的。

比如描述红绿灯,如果用整型来表示,可以用-1表示红灯,1表示绿灯,0表示黄灯,如果能够严格遵守{-1,0,1}这么个取值范围,那也没问题,但是这是需要程序保障,在运行时,不会出现-2、2这样越界的应用。如果用枚举,限定为enum{RED,GREEN,YELLOW},这样就不可能出现越界了(至少在编译期就提示错误了)。

7.参考文献

http://www.cnblogs.com/zhaoyanjun/p/5659811.html

http://blog.sina.com.cn/s/blog_4adc4b090101dtxp.html

8.更多讨论

ppt链接:https://ptteng.github.io/PPT/PPT-java/enum.html#/

相关文章

  • swift3语法(八)

    枚举/结构体 枚举 定义形式enum 枚举名 { 枚举值} // 例如enum CompassPoint {...

  • Rust 编程语言-6-枚举和模式匹配

    6. Enum和Pattern matching 6.1 Enum枚举 IP地址枚举 消息类型枚举:可以看到枚举中...

  • 菜鸡学Swift3.0 12.枚举

    1. 枚举定义 enum 定义枚举类型 { case 枚举项 ... } 2.原始值 rawValue enum...

  • Swift Day03 枚举 可选项

    一、枚举 1. 枚举(enum)的基本写法? 2. 枚举(enum)的关联值(Associated Value)?...

  • Python_枚举

    一、枚举 Enum类 Python中所有枚举类型都是enum模块下的Enum类的子类。 枚举中的标识最好全部使用大...

  • 枚举学习

    java enum枚举类 enum(枚举)类介绍 **java枚举类是一组预定义常量的集合,使用enum关键字声明...

  • OC中枚举写法 以及 字符串类型枚举实现探索

    常见枚举写法 C语言模式的枚举写法:enum 普通【整型】枚举写法 :NS_ENUM 位移枚举 :NS_OPTIO...

  • 枚举: 使用小汇总

    枚举enum是同class,interface同一级别的特性。 枚举enum不能被继承。 枚举示例: 有人说枚举就...

  • 枚举

    枚举 wiki Java的枚举类型用法介绍 深入理解Java枚举类型(enum) 为什么要用enum? 学习计划 ...

  • Java枚举

    枚举 普通方式定义(int枚举模式) 枚举方式 Enum抽象类常见方法 Enum是所有 Java 语言枚举类型的公...

网友评论

    本文标题:enum枚举

    本文链接:https://www.haomeiwen.com/subject/yyrmpxtx.html