王朝网络
分享
 
 
 

在Eclipse 3.1中体验J2SE 5.0的新特性:第一部分:枚举类型

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

本文将介绍J2SE 5.0中三个比较重要的特性: 枚举类型, 注释类型, 范型, 并在此基础上介绍在如何在Eclipse 3.1开发环境中开发枚举类型, 注释类型和范型应用.

J2SE 5.0 (Tiger)的发布是java语言发展史上的一个重要的里程碑, 是迄今为止在 Java 编程方面所取得的最大进步.

J2SE 5.0提供了很多令人激动的特性.这些特性包括范型(generics)的支持, 枚举类型(enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱(autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架构(Thread framework).

随着J2SE 5.0的推出, 越来越多的集成开发环境(IDE)支持J2SE 5.0的开发. 闻名的开源Java IDE Eclipse从3.1M4开始支持J2SE 5.0的开发, 目前最新的版本是3.1RC4.

本系列将介绍J2SE 5.0中三个比较重要的特性: 枚举类型, 注释类型, 范型, 并在此基础上介绍在如何在Eclipse 3.1开发环境中开发枚举类型, 注释类型和范型应用.本文将介绍枚举类型.

1. 枚举类型

1.1枚举类型简介

J2SE 5.0 以及之前的JDK有两种基本方法可以来定义新类型:通过Classes 以及Interface. 对于大部分面向对象编程来说,这两种方法看起来似乎足够了.但是在一些非凡情况下,这些方法就不适合.例如,我们想定义一个类型 PRiority, 它只能接受 High, Medium, Low 三种值. 其他任何值都是非法的.J2SE 5.0 以前的JDK是可以构造这种类型的,但是需要做很多工作,有可能会带来如不安全(类型安全性问题???)等潜在问题,而J2SE 5.0的枚举类型(Enum) 能避免这些问题.

Eclipse 是JAVA程序员最常用的开发平台,而Eclipse 3.1提供对J2SE 5.0的支持,它为J2SE 5.0的新功能提供了帮助工具.在对枚举类型的支持上,它不仅提供了枚举类型的创建模板,而且为枚举类型的各种开发错误提供错误提示及帮助修改.

本文首先介绍枚举类型的创建基本概念以及如何在Eclipse 3.1平台上创建枚举类型,然后我们通过在Eclipse 3.1开发环境中的例子来说明枚举类型的应用.

1.2 创建枚举类型

下面的例子显示了如何创建一个最基本的枚举类型:

清单 1. 枚举类型的定义

public enum Priority {High, Medium, Low };

它包括一个要害字enum,一个新枚举类型的名字 Priority 以及为Priority定义的一组值.

在Eclipse 3.1平台上,按照下面步骤来生成枚举类型:(Eclipse 3.1提供了一个新的枚举类型创建向导(wizard)以方便用户创建枚举类型)

1) File->New->Other, 模板列表显示出来.

2) 在模板列表上选中 Java->Enum, 点击 Next 按钮

3) 按图 1填写每一个域 如下:

图 1: Eclipse 3.1 枚举类型创建模板

4) 点击 Finish 按钮, 生成Priority 的类(定义???), 并声明Priority 的每一个值,如下图 2所示:(High, Medium, low从何而来???)

图 2: 枚举类型Priority

点击查看大图

在创建枚举类型时,注重几个重要的概念.

所有创建的枚举类型都扩展于 java.lang.Enum. Enum 是在J2SE 5.0 里定义的一个新类, 它本身不是枚举类型.在创建枚举类型时,必须用enum 要害字,不能直接地定义一个继续Enum的类来创建一个枚举类型,尽管所有创建的枚举类型实际上都是Enum 的子类. 假如直接继续Enum, compiler 就会报错(会导致编译错误).如图3 所示

图3. 直接继续Enum 类

点击查看大图

枚举类型里定义的每一个值都是枚举类型的一个实例,比方说High是Priority的一个实例.枚举类型又是扩展于Enum. 所以枚举类型的每一个值声明时, 缺省时都将映射到Enum(String name, int ordinal) 构造函数中.换句话说,enum Priority {High, Medium, Low } 的实现是调用了下面的Enum 构造函数:

清单2 映射的构造函数调用

new Enum< Priority >("High", 0);

new Enum< Priority >("Medium", 1);

new Enum< Priority >("Low", 2);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有