- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 枚举和泛型
12.1 枚举类型
12.2 泛型类、接口和方法
12.3 通配符
12.4 Java语言泛型的实现和局限性
12.5 习题
12.1 枚举类型
用什么数据类型来表示一周中的7天呢?
学过C、C++等语言的读者肯定会说使用
枚举类型。不过,Java SE5之前,Java程序员为
达到相同目的,通常需要使用类定义一个整数
类型常量数据成员集。现在,Java语言终于也
有了枚举类型,而且,它的功能比C、C++语
言中的枚举类型完备得多。
12.1 枚举类型(续)
枚举是一种引用数据类型,本质上说它是一种
特殊的类。这种类的实例对象个数是有限的,
定义时,需要将其所有可能的实例对象一一枚
举出来。基本语法形式一般如下:
enum 枚举类型名{枚举值1, 枚举值2, …, 枚举值
n }
其中的枚举值列出了这种类型实例对象的所
有可能取值,每个枚举值都是一个用标识符表
示的具有不同名称的命名常量,又称枚举常
量,相应对象由系统自动创建。
12.1 枚举类型(续)
public enum Weekday {
SUNDAY, MONDAY, TUESDAY,
WEDNESDAY, THURSDAY,
FRIDAY, SATURDAY
}
定义了一个名为Weekday的枚举类型,其
中的枚举值列出了这种类型实例对象的所有
可能取值。由于枚举值都是常量,因此按照
规范,它们用大写字母表示。
12.1 枚举类型(续)
定义某种枚举类型后,就可以声明这种
类型的引用变量。
例:
Weekday wd;
12.1 枚举类型(续)
不能显式使用运算符new创建枚举类型的
实例对象,枚举类型实例对象的所有可
能取值就是定义相应枚举类型时列出的
枚举值。要为枚举引用变量赋值,需要
使用运算符“.”通过枚举类型名访问枚举
值(每个枚举值实际上都是静态枚举常
量)。
例:
wd = Weekday.FRIDAY;
12.1 枚举类型(续)
枚举类型从本质上说是类。用户定义的所有枚
举类型实际上都派生自类java.lang.Enum,
继承了该类的所有方法。其中,部分常用方法
如下:
public String toString()
//返回当前枚举常量的名称
public final int ordinal()
//返回当前枚举常量的序数(即它在
//枚举类型定义中的位置,其中第1
//个常量的序数为0)
12.1 枚举类型(续)
编译器编译时,还会为枚举类型添加一些方法,比
如,静态方法values 。调用静态方法values ,将按照枚
举值的声明顺序,产生一个包含当前枚举类型全部枚
举值的数组。
例:
Weekday[] wds = Weekday.values();
就定义了一个含有7个元素的数组wds,数组元素依次为
Weekday.SUNDAY、Weekday.MONDAY、
Weekday.TUESDAY、 Weekday.WEDNESDAY、
Weekday.THURSDAY、Weekday.FRIDAY、
Weekday.SATURDAY。
12.1 枚举类型(续)
同一枚举类型的不同实例对象的值一定不相
同,因此,在比较两个枚举变量引用对象的
值是否相等时,不需要调用方法equal,只需
直接使用运算符“==
您可能关注的文档
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第八章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第二章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第九章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第六章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第七章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第三章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第十章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第四章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第五章.pdf
- 3ds max三维动画制作实例教程 教学课件 许朝侠 第一章.pdf
- Java程序设计 教学课件 刘慧宁 13.pdf
- Java程序设计 教学课件 刘慧宁 14.pdf
- Java程序设计 教学课件 刘慧宁 15.pdf
- MATLAB基础教程 教学课件 杨德平 第1章 基础入门.pdf
- MATLAB基础教程 教学课件 杨德平 第2章 数值计算.pdf
- MATLAB基础教程 教学课件 杨德平 第4章 符号计算.pdf
- MATLAB基础教程 教学课件 杨德平 第5章 绘图及可视化.pdf
- MATLAB基础教程 教学课件 杨德平 第6章 程序设计.pdf
- MATLAB基础教程 教学课件 杨德平 第7章 M文件.pdf
- MATLAB基础教程 教学课件 杨德平 第8章 数据分析.pdf
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)