4-29枚举学案.doc

枚举: 1.在JDK 1.5之前,JAVA可以有两种方式定义新类型:类和接口。对于大部分面向对象编程来说,这两种方法看起来似乎足够了。但是在一些特殊情况下,这些方法就不适合。例如,想定义一个Color类,它只能有 Red、Green、Blue三种值,其他的任何值都是非法的,那么JDK 1.5之前虽然可以构造这样的代码,但是要做很多的工作,也有可能带来各种不安全的问题。而JDK 1.5之后引入的枚举类型(Enum)就能避免这些问题。 2.在JDK 1.5之后,引入了一个新的关键字类型 —— enum,可以直接定义枚举类型,格式如下: [public] enum 枚举类型名称{ 枚举对象1,枚举对象2,…,枚举对象n ; } package Io; enum color{ red,bule,green,bk; } public class enumtest{ public static void main(String agrs[]){ for(color c:color.values()){ System.out.println(c); } } } package Io; enum Color{ red,bule,green,bk; } public class enumtest{ public static void main(String[] args) { for(Color c:Color.values()){ // 枚举.values()表示得到全部枚举的内容 print(c) ; } } public static void print(Color color){ switch(color){ // 判断每个颜色 case red:{ // 直接判断枚举内容 System.out.println(红颜色) ; break ; }case green:{ // 直接判断枚举内容 System.out.println(绿颜色) ; break ; }case bule:{ // 直接判断枚举内容 System.out.println(蓝颜色) ; break ; }default:{ // 未知内容 System.out.println(未知颜色) ; break ; } } } } 枚举类的主要操作方法 protected?Enum(String?name,int?ordinal) 接收枚举的名称和枚举的常量创建枚举对象 protected?final?Object?clone() throws?CloneNotSupportedException 克隆枚举对象 public?final?int?compareTo(E?o) 对象比较 public?final?boolean?equals(Object?other) 比较两个枚举对象 public?final?int?hashCode() 返回枚举常量的哈希码 public?final?String?name() 返回此枚举的名称 public?final?int?ordinal() 返回枚举常量的序数 public?static?T?extends?EnumT?T?valueOf(ClassT?enumType,String?name) 返回带指定名称的指定枚举类型的枚举常量

文档评论(0)

1亿VIP精品文档

相关文档