Tiger中的注释,第2部份: 定制注释[Java编程]
本文“Tiger中的注释,第2部份: 定制注释[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本系列的第一篇文章 介绍了什么是元数据,元数据的重要性,以及若何利用 J2SE 5.0(也叫做 Tiger)的基本内置注释.假如习惯了这些概念,您大概已经在想,Java 5 供应的三种尺度注释也并非分外结实,能利用的只有 Deprecated 、 SuppressWarnings 和 Override 罢了.所幸的是,Tiger 还答应定义自己的注释范例.在本文中,我将通过一些示例指导您掌握这个相对简单的历程.您还将理解若何对自己的注释举行注解,以及这样做的一些好处.我要感激 O'Reilly Media, Inc.,他们非常大方地答应我在本文中利用我关于 Tiger 的书籍的“注释”一章中的代码示例.
定义自己的注释范例
通过增添了一个小小的语法(Tiger 增添了大量的语法构造),Java 语言支持一种新的范例 —— 注释范例(annotation type).注释范例看起来很像普通的类,但是有一些特有的性质.最明显的一点是,可以在类中以标记( @ )的情势注释其他 Java 代码.我将一步一步地介绍这个历程.
@interface 声明
定义新的注释范例与成立接口有很多近似之处,只不过 interface 关键字之前要有一个 @ 标记.清单 1 中给出的是一个最简单的注释范例的示例:
清单 1. 非常简单的注释范例
package com.oreilly.tiger.ch06;
/**
* Marker annotation to indicate that a method or class
* is still in progress.
*/
public @interface InProgress { }
清单 1 的含义十清楚显.假如编译这个注释范例,并确信其位于类途径中,那么您便可以在自己的源代码办法中利用它,以指出某个办法或类仍在处理中,如清单 2 所示:
清单 2. 利用定制的注释范例
@com.oreilly.tiger.ch06.InProgress
public void calculateInterest(float amount, float rate) {
// Need to finish this method later
}
清单 1 所示注释范例的利用办法和内置注释范例的利用办法完好相同,只不过要同时利用名称和所在的包来指导定制注释.当然,普通的 Java 法则仍旧实用,您可以导入该注释范例,直接利用 @InProgress 引用它.
增添成员
上面所示的基本用法还远远不够结实.您一定还记得“第 1 部份”中曾经提到的,注释范例可以有成员变量.这一点非常有效,特别是预备将注释作为越发复杂的元数据,而不但仅将它作为原始文档利用的时刻.代码解析工具喜好加工大量的信息,定制注释可以供应这类信息.
注释范例中的数据成员被设置成利用有限的信息举行工作.定义数据成员后不需求辨别定义拜候和改正的办法.相反,只需求定义一个办法,以成员的名称命名它.数据范例应当是该办法返回值的范例.清单 3 是一个具体的示例,它澄清了一些对比含糊的要求:
清单 3. 向注释范例增添成员
package com.oreilly.tiger.ch06;
/**
* Annotation type to indicate a task still needs to be
* completed.
*/
public @interface TODO {
String value();
}
以上是“Tiger中的注释,第2部份: 定制注释[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |