黑马程序员技术交流社区

标题: [已解决]类和方法上都有注解时,怎么打印方法上注解的内容 [打印本页]

作者: 王金科    时间: 2012-8-28 20:53
标题: [已解决]类和方法上都有注解时,怎么打印方法上注解的内容
本帖最后由 王金科 于 2012-8-28 23:26 编辑
  1. package cn.study.day2;

  2. //如果数组的元素只有一个,那么可以不写大括号 arr=3
  3. @ItcastAnnotation(clazz = Integer.class, annotationAttr = @MetaAnnotation("zxx"), color = "red",value = "abc",arr = {1,2,5})
  4. public class AnnotationDemo {

  5.         /**
  6.          * @param args
  7.          */
  8.         
  9.         //如果只有一个属性需要设值,那么属性名可以不写
  10.         @ItcastAnnotation("defg")
  11.         public static void main(String[] args) {
  12.                 // TODO Auto-generated method stub
  13.                 //判断AnnotationDemo上有注解ItcastAnnotation吗
  14.                 if(AnnotationDemo.class.isAnnotationPresent(ItcastAnnotation.class)){
  15.                         //获取annotation
  16.                         ItcastAnnotation annotation = (ItcastAnnotation)AnnotationDemo.class.getAnnotation(ItcastAnnotation.class);
  17.                         System.out.println(annotation);
  18.                         
  19.                         System.out.println(annotation.color());
  20.                         System.out.println(annotation.value());
  21.                         System.out.println(annotation.arr().length);
  22.                         System.out.println(annotation.lamp().nextLamp().name());
  23.                         System.out.println(annotation.annotationAttr().value());
  24.                         System.out.println(annotation.clazz().getName());
  25.                 }
  26.         }

  27. }
复制代码
怎么打印方法上注解的内容?
System.out.println(annotation.value());这里打印出来的是类上的注解的内容abc
那方法上的@ItcastAnnotation("defg")怎么打印出来,视频里没有讲到过.

作者: 黑马胡威    时间: 2012-8-28 22:09
使用eclipse生成文档(javadoc)主要有三种方法:
1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。
在Javadoc Generation对话框中有两个地方要注意的:
javadoc command:应该选择jdk的bin/javadoc.exe
destination:为生成文档的保存路径,可自由选择。
按finish(完成)提交即可开始生成文档。
2,用菜单选择:File->Export(文件->导出),
剩下的步骤和第一种方法是一样的。
3,选中要生成文档的项目,然后用菜单选择,
Project->Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法在Javadoc Generation对话框开始是一样的。
作者: 黑马张涛    时间: 2012-8-28 22:49
Annotation annotations = AnnotationDemo.class.getMethod("Main").getAnnotations;
for(Annotation ann:annotations)
{
if(ann instanceof ItcastAnnotation)
system.out.println(ann);
}

作者: 王金科    时间: 2012-8-28 23:24
黑马胡威 发表于 2012-8-28 22:09
使用eclipse生成文档(javadoc)主要有三种方法:
1,在项目列表中按右键,选择Export(导出),然后在Exp ...

哥们,你这个不是回复我这个帖子吧
作者: 王金科    时间: 2012-8-28 23:25
黑马张涛 发表于 2012-8-28 22:49
Annotation annotations = AnnotationDemo.class.getMethod("Main").getAnnotations;
for(Annotation ann:a ...

原来要先获取方法上的注解呀:)
懂了
作者: 乔九    时间: 2012-8-28 23:29
好像不能吧,注释是留开发者看的。要是设计一个软件还能看到注释好不爽啊
作者: 黑马胡威    时间: 2012-8-29 11:29
王金科 发表于 2012-8-28 23:25
原来要先获取方法上的注解呀
懂了

不好意思,我看错内容了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2