WEB开发网
开发学院软件开发Java Tiger 中的注释,第 2 部分: 定制注释 阅读

Tiger 中的注释,第 2 部分: 定制注释

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 清单 2. 使用定制的注释类型 @com.oreilly.tiger.ch06.InProgresspublicvoidcalculateInterest(floatamount,floatrate){//Needtofinishthismethodlater}清单 1 所示注释类型的使用方法和

清单 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(); 
} 

尽管清单 3 看起来很奇怪,但这是注释类型所要求的格式。清单 3 定义了一个名为 value 的字符串,该注释类型能够接受它。然后,就可以像清单 4 中那样使用注释类型:

清单 4. 使用带有成员值的注释类型
@com.oreilly.tiger.ch06.InProgress 
@TODO("Figure out the amount of interest per month") 
public void calculateInterest(float amount, float rate) { 
 // Need to finish this method later 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:Tiger 注释 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接