在Eclipse 3.1中体验J2SE 5.0的新特性: 第一部分 :枚举类型 - 编程入门网
default: return "Unknown Color";
}
}}
枚举类型的函数定义的应用是很有用的, 例如可以让多个枚举类型实现同一个 interface 来达到程序设计的模式化. 例如一个定义了getDescription ()接口的 interface,让有同样需求的不同枚举类型来实现它.上面的colorFeature 可以实现它, 另 一个FontFeature也可以实现它. 在Eclipse 3.1中体验J2SE 5.0的新特性: 第一部分 :枚举类型(7)时间:2011-04-02 IBM 邹青 吴嫣 吴疆1.3.5 特定于常量的类主体 在上一节里提到枚举类型可以定义自己的函数,其实更进一步,枚举类型的每一个值 都可以实现枚举类型里定义的抽象函数,这听起来很不可思议,我们可以先看下面的例子 .
枚举类型Priority 定义了一个抽象函数perform(),Priority的每一个值都对perform 函数实现了重载,这就是枚举类型的特定于常量的类主体.在这种情况下,每声明一个值 ,枚举类型的一个子类生成,然后生成这个子类的唯一的实例来表示这个值.不同的值, 就有对应的不同的子类.每个子类可以对父类的抽象函数进行重载.我们可以用下面的程序 在Eclipse3.1环境中运行来证明此时3个子类生成.
运行结果如下图10. 图9 测试特定于常量的类主体运行结果 由于特定于常量的类主体难理解容易出错,它的应用比较少,大多数情况下可以用 switch-case 语句替代. 在这里简单介绍,仅供参考. 1.4 枚举类型的小结 使用枚举类型是很简单的.它定义一个固定的、封闭的值集合,然后,在需要这些值中 的某一个值时,可以通过它的名称来指定它,这就是枚举类型的简单性.枚举类型的值就 是枚举类型的实例,编译器会确保没有传入其他的类型,这就是枚举类型的安全性.这些 枚举类型就是类本身,因此,可以对类进行的所有操作同样可以作用于枚举类型上.我们 要小心使用构造函数和函数重载方法,不要因为这些特性可用就任意使用它们.比如特定 于常量的类主体,大多情况下可 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |