- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
黑马程序员javaweb教程:枚举
枚举
?枚举类型概述
1 什么是枚举类型
word文档的对齐方式有几种:左对齐、居中对齐、右对齐;
开车的方向有几种:前、后、左、右;
枚举就是有限实现个数的类型,你可能会说,byte类型也只有256个,没错,但我们真实定义为枚举的类型,一般最多也就十多个实例,再多就不会定义为枚举了。
2 JDK1.4之前的枚举类型
在JDK1.4之前没有枚举类型,都是使用int或字符串类型来表示枚举,如果枚举只有两个选项,那么连int都用不上,只需要使用boolean类型即可。
例如:BorderLayout类的方位给出五个:CENTER、EAST、SOUTH、WEST、NORTH。当使用容器类的方法添加组件时:add(new Button(), “CENTER”),这是合法的,但因为String类型太过宽泛,所以可能会出现add(new Button(), “哈哈”)的调用可能,这会导致运行时出现异常。所以,JDK1.5又新增了枚举类型。
3 定义枚举类型
定义枚举类型需要使用enum关键字,例如:
public enum Direction {
FRONT、BEHIND、LEFT、RIGHT;
} Direction d = Direction.FRONT;
注意,每个枚举选项之间是用逗号隔开的。如果枚举类没有构造器、方法等,在最后一个枚举选择后面可以不打分号。但是如果枚举类还有其他成员,那么就要在最后一个枚举项后面添加分号了。
Direction类型只有四个选项,你可以理解为这个枚举类只有四个实例对象一样。外界无法去创建新的枚举对象,只能从这四个中去选择。
其实大多数时候,我们使用枚举类型还是与以及使用int或String表示的枚举一样,基本上都是很简单的。
4 枚举与switch
1.5开始枚举类型可以在switch中使用!在1.7之后,String类型也可以放到switch中使用了。
Direction d = Direction.FRONT;
switch(d) {
case FRONT: System.out.println(前面);break;
case BEHIND:System.out.println(后面);break;
case LEFT: System.out.println(左面);break;
case RIGHT: System.out.println(右面);break;
default:System.out.println(错误的方向);
}
Direction d1 = d;
System.out.println(d1);enum Direction {
FRONT, BEHIND, LEFT, RIGHT;
Direction() {
System.out.println(hello);
}
}
3 枚举类的方法
再次强调,枚举类也是类,也可以有构造器、方法和属性,只是对构造器有一些限制而已。在语法上有一些怪异罢了!
enum Direction {
FRONT, BEHIND, LEFT, RIGHT;
public void fun() {
System.out.println(hello Enum!);
}
} Direction.FRONT.fun();
4 枚举类的属性
枚举类也可以有属性。但是,如果每个枚举常量的属性值如果都相同,那就失去了意义,我们需要让每个枚举常量的属性值不同,那么就需要自己使用构造器来创建枚举常量,然后在构造器中给每个枚举常量传递不同的值。
enum Direction {
FRONT(前面), BEHIND(后面), LEFT(左面), RIGHT(右面);
private String explain;
Direction(String explain) {
this.explain = explain;
}
public void setExplain(String explain) {
this.explain = explain;
}
public String getExplain() {
return explain;
}
} String explain = Direction.FRONT.getExplain();
System.out.println(explain);
5 使用匿名类来创建枚举常量
还可以使用匿名类来创建枚举常量,这说明枚举常量的类型是当前枚举类的子类,而且是个匿名类。这可以让每个枚举常量有自己的类型,当然有自己的类型不是目的,而是有自己的行为才是目的!但是我们知道就算给匿名类添加了
您可能关注的文档
- 枚举法和动态规划法在污水管网布置优化中的应用.pdf
- 某SUV车型后视镜风噪性能分析.pdf
- 模块化平台的模块划分及共享模块筛选方法_侯文彬.pdf
- 模态叠加法算法理论及其编程实现.pdf
- 模板工程创优质量保证.pdf
- 比利林恩的中场战事不是一部省略业大片这个投资只有中国人能理解盖源源.pdf
- 构筑手性金属有机骨架的方法及其在不对称催化中的应用刘丽丽.pdf
- 比照C中的多继承性理解Java中的接口概念王文忠.pdf
- 水溶性壳聚糖光聚合水凝胶的制备研究.pdf
- 民诉表格理解记忆版(可编辑版)(第二版).doc
- 高清硬盘录像机NVR用户手册-20140716(中性).pdf
- 髋关节脱位早期4.pdf
- 本雅明美学与布莱希特戏剧陈世雄.pdf
- 第一章 模板基础知识.ppt
- 99 使用360安全卫士.ppt
- 户外游戏玩具介绍PPT.ppt
- 三维设计江苏 专用2017届高三数学一轮总复习第九章平面解析几何第三节圆的方程课时跟踪检测理.doc
- 三维设计江苏 专用2017届高三数学一轮总复习第四章三角函数解三角形第六节简单的三角恒等变换课时跟踪检测理.doc
- 三维设计江苏 专用2017届高三数学一轮总复习第四章三角函数解三角形第六节简单的三角恒等变换课时跟踪检测文.doc
- 三维设计江苏 专用2017届高三数学一轮总复习第九章平面解析几何第五节椭圆课时跟踪检测理.doc
最近下载
- 小学数学教学中学生逻辑推理能力的培养策略教学研究课题报告.docx
- [浙江]永康市委统战部编制外工作人员招聘笔试历年参考题库附带答案详解.doc VIP
- 教你三步查看老婆微信聊天记录.docx VIP
- 2022年公务员考试内蒙古行政职业能力测验真题.doc VIP
- 兴澄特钢海洋工程用钢研究与开发现状..ppt VIP
- 运动解剖学课件.pptx VIP
- 2025年气瓶检验员考试题及答案.docx VIP
- 大学藏文四级考试题库及答案.doc VIP
- (2025秋新版)人教版三年级数学上册全册教案.pdf
- 新解读《GB_T 20970-2015石油天然气工业 井下工具 封隔器和桥塞》最新解读.docx VIP
文档评论(0)