黑马程序员javaweb教程:枚举.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 使用匿名类来创建枚举常量   还可以使用匿名类来创建枚举常量,这说明枚举常量的类型是当前枚举类的子类,而且是个匿名类。这可以让每个枚举常量有自己的类型,当然有自己的类型不是目的,而是有自己的行为才是目的!但是我们知道就算给匿名类添加了

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档