博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中的枚举类
阅读量:6576 次
发布时间:2019-06-24

本文共 561 字,大约阅读时间需要 1 分钟。

声明:以下内容来自《疯狂Javav讲义》,如有侵权,请联系删除。

一、初识枚举类
      枚举类定义方式如下:

二、
枚举类的特点
      (1)枚举类默认继承java.lang.Enum,不能显示继承其他父类
      (2)非抽象的枚举类默认会使用final修饰,因此不能派生子类
      (3)枚举类的构造器只能用private修饰
      (4)枚举类的所有实例必须在定义枚举类时显示列出(这其实就是在调用枚举类的构造器)
      (5)枚举类默认提供了一个values()方法,可以很方便的遍历枚举类的所有实例

运算结果:

可以看出,在实例化枚举类的过程中,自动调用了枚举类的无参构造器。而values()方法返回的是一个枚举类型的数组,利用foreach方法很方便的遍历枚举类。

三、枚举类中带参数的构造函数
      

由上面代码可知,在构造函数中带形式参数时,列举枚举类的实例时也需要带参数。

四、枚举类实现接口的两种方式

(1)与普通类实现接口方式相同

(2)利用枚举类的匿名子类实现接口

五、包含抽象方法的枚举类

假设一个枚举类中有一个用于计算的方法,但是对于每个枚举类的实例来说,具体的计算方式不一样,因此这个计算的方法要被设计为抽象方法被枚举类实例去实现。代码如下:

可以看到编译后有五个class文件,证明了上面的实现抽象方法的枚举类实例时枚举类的匿名子类。

转载地址:http://qmwno.baihongyu.com/

你可能感兴趣的文章
IOS 7 Study - UISegmentedControl
查看>>
八、通用类型系统
查看>>
JQuery的ajaxFileUpload的使用
查看>>
Java分享笔记:使用keySet方法获取Map集合中的元素
查看>>
Java面向对象练习题之人员信息
查看>>
关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法...
查看>>
ios 控制器的生命周期
查看>>
C#动态代理
查看>>
使用 sessionStorage 创建一个本地存储的 name/value
查看>>
POJ2127 LICS模板
查看>>
Python笔记8----DataFrame(二维)
查看>>
JavaScript 特殊效果代码
查看>>
【?】codeforces721E Road to Home(DP+单调队列)
查看>>
MySQL 仅保留7天、一个月数据
查看>>
OGG 11g Checkpoint 详解
查看>>
PHP中使用socket通信响应速度慢的原因与解决办法
查看>>
Win7下安装Mysql(解压缩版)
查看>>
UVA 11992 Fast Matrix Operations (降维)
查看>>
Asp.net core Identity + identity server + angular 学习笔记 (第一篇)
查看>>
暂时不想读研的几点理由
查看>>