Javadoc注释标签语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
核心提示:javadoc可以根据项目代码的注释(当然是规范化的)自动生成HTML格式的API文档。
javadoc可以根据项目代码的注释(当然是规范化的)自动生成HTML格式的API文档。
三种注释类型(注释必须紧贴着注释体,不然javadoc会忽略):
类注释
变量注释
方法注释
书写格式:
/** <-->
* ........
* @XXX <-->
*/
参数说明:
@see 生成文档中的“参见xx 的条目”的超链接,后边可以加上:“类名”、“完整类名”、“完整类名#方法”。可用于:类、方法、变量注释。
@param 参数的说明。可用于:方法注释。
@return 返回值的说明。可用于:方法注释。
@exception 可能抛出异常的说明。可用于:方法注释。
@version 版本信息。可用于:类注释。
@author 作者名。可用于:类注释。
@deprecated 对类或方法的说明该类或方法不建议使用,引起不推荐使用的警告
@note 表示注解,暴露给源码阅读者的文档
@remark 表示评论,暴露给客户程序员的文档
@since 表示从那个版本起开始有了这个函数
@see 表示交叉参考
javadoc命令:
javadoc [options] [packagenames] [sourcefiles]
-public 仅显示public 类和成员
-protected 显示protected/public 类和成员(缺省)
-package 显示package/protected/public 类和成员
-private 显示所有类和成员
-d 输出文件的目标目录
-version 包含@version 段
-author 包含@author 段
-splitindex 将索引分为每个字母对应一个文件
@interface
它用于定义新的注释类型(annotation type)。新建一个注释类型看起来和定义一Interface 没有什么两样,
MyTag.java用于新建一个用户自定义标签,代码如下,
=
====================================================================== =========
package tiger.annotation;
/**
* 用户自定义标签??MyTag
*/
public @interface MyTag { }
定义了一个tag之后,我们就可以在任何java文件中使用这个tag了,
import tiger.annotation.MyTag;
public class TagTest{
@MyTag
public void testTag(){
}
}
====================================================================== =========
注释类型还可以有成员变量,
====================================================================== ========
package tiger.annotation;
/**
* 用户自定义标签??带有成员变量的MyTag
*/
public @interface MyTag {
String name();
int age();
}
======================================================================
=======
然后我们可以这么使用这个标签,
@MyTag(name="MyTag",age=1)
public void testTag(){
}
使用标签最终是为了帮助开发人员提取注释信息,然后根据不同需求做进一步处理,下面我们来看看如何获取注释信息。
====================================================================== =======
import ng.annotation.Annotation;
import tiger.annotation.MyTag;
public class TagTest{
@MyTag(name="MyTag",age=1)
public void test(){
}
public static void main(String[] args){
TagTest tt = new TagTest();
try {
Annotation[] annotation =tt.getClass().getMethod("test").getAnnotations();
for (Annotation tag :annotation) {
System.out.println("Tag is:" + tag);
System.out.println("()" + ((MyTag)tag).name());
System.out.println("tag.age()" + ((MyTag)(tag)).age());
}
} catch(NoSuchMethodException e) {
e.printStackTrace();
}
}
}
====================================================================== =========
需要注意的一点是,在执行这段代码之前我们还有一点小工作要做,还需要给我们的自定义标签MyTag加上一个说明标签,@ Retention, 表明注释信息将可以在运行时刻通过反射机制得到。如果不加入这个标签,上面的代码将没有任何输出。修改以后的MyTag如下,
====================================================================== ==========
/**