全面掌握java枚举类型_第1页
全面掌握java枚举类型_第2页
全面掌握java枚举类型_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、枚举类型是 JDK5.0 的新特征。 Sun 引进了一个全新的关键字 enum 来定义一个枚举类。下面就是一个典型枚举类型的定义:Java 代码_1. publicenumColor2. RED,BLUE,BLACK,YELLOW,GREEN3. 显然,enum 很像特殊的 class,实际上 enum 声明定义的类型就是一个类。而这些类都是类库中 Enum 类的子类(java.lang.Enum)。它们继承了这个 Enum 中的许多有用的方法。下面我们就详细介绍 enum 定义的枚举类的特征及其用法。(后面均用 Color举例)1、Color 枚举类是特殊的 class,其枚举值(RED,B

2、LUE.)是 Color 的类对象(类实例):Colorc=Color.RED;而且这些枚举值都是 publicstaticfinal 的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。2、即然枚举类是 class,当然在枚举类型中有构造器,方法和数据域。但是,枚举类的构造器有很大的不同:(1)构造器只是在构造枚举值的时候被调用。Java 代码一1. enumColor2. RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW255,255,0),GREEN(0,255,0);3. /构造枚举值,比如 RED(255,0,0)4. p

3、rivateColor(intrv,intgv,intbv)5. this.redValue=rv;6. this.greenValue=gv;7. this.blueValue=bv;8. 9.10. publicStringtoString()/自定义的 public 方法11. returnsuper.toString()+(+redValue+,+greenValue+,+blueValue+);12. 13.14. privateintredValue;/自定义数据域,private 为了封装。15. privateintgreenValue;(2)构造器只能私有 private,绝

4、对不允许有 public 构造器。这样可以保证外部代码无法新构造枚举类的实例。这也是完全符合情理的,因为我们知道枚举值是publicstaticfinal 的常量而已。但枚举类的方法和数据域可以允许外部访问。Java 代码_1.publicstaticvoidmain(Stringargs 口)2.3./Colorcolors=newColor(100,200,300);/wrong4.Colorcolor=Color.RED;5.System.out.println(color);调用了 toString()方法6.3、所有枚举类都继承了 Enum 的方法,下面我们详细介绍这些方法。(1)

5、ordinal()方法:返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。Color.RED.ordinal();返回结果:0Color.BLUE.ordinal();返回结果:1(2) compareTo()方烝:Enum现了 java.lang.Comparable 接口,因止匕可以比较象与指定对象的顺序。Enum 中的 compareTo 返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个枚举类, 否则会抛出 ClassCastException()异常。 (具体可见源代码)Color.RED.compareTo(Color.BLUE);/返回结果-1(3)v

6、alues()方法:扁态方法,返回一个包含全部枚举值的数组。Color 口 colors=Color.values();for(Colorc:colors)System.out.print(c+,);/返回结果:RED,BLUE,BLACKYELLOW,GREEN,(4)toString()方法:返回枚举常量的名称。Colorc=Color.RED;System.out.println(c);/返回结果:RED(5) valueOf()方*:这个方法和 toString 方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。Color.valueOf(BLUE);/返回结果:Color.BLUE(6)equals()方法:比较两个枚举类对象的引用。16.17.privateintblueValue;Java 代码-1. /JDK 源代码:2. publicfinalbooleanequals(Objectother)3. returnthis=other;4. 4、枚举类可以在 switch 语句中使用。Java 代码_1. Colorcolor=Color.RED;2. switch(color)3. caseRED:System.out.println(it

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论