Annotation 求助,为什么getAnnotations()没有结果?

tregfdvcx 2012-12-19 11:56:31
我用getAnnotations()方法得到的数组Annotation[] anns,为什么数组长度为0,没有得到相应的annotation注释?
import java.lang.annotation.Annotation;
public class AnnotationTest {
public static void main(String[] args){
try{
Annotation[]anns=Class.forName("Apple").getMethod("info").getAnnotations();
System.out.println(anns.length);
for(Annotation ann:anns){
System.out.println(ann);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}

@interface MyTag{
String name() default "ddd";
int age();
}

class Fruit{
public void info(){

System.out.println("Fruit info method.");
}
}

class Apple extends Fruit{
@MyTag(age=34)
@Override
public void info(){

}
@Deprecated
public void foo(){

}
}
...全文
600 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tregfdvcx 2012-12-20
  • 打赏
  • 举报
回复 1
写错了,更正一下: http://bbs.csdn.net/topics/390271048?page=1#post-392836651 http://bbs.csdn.net/topics/390286774?page=1#post-392962027
引用 1 楼 abstruct 的回复:
需要设置@Retention(RetentionPolicy.RUNTIME)这个表示运行期注解,这样在反射的时候才能取到
tregfdvcx 2012-12-20
  • 打赏
  • 举报
回复
谢谢楼上的朋友!有时间帮我看看这两个问题,希望能得到您的帮助: http://bbs.csdn.net/topics/390271048?page=1#post-392836651 http://bbs.csdn.net/topics/390271048?page=1#post-392836651
引用 1 楼 abstruct 的回复:
需要设置@Retention(RetentionPolicy.RUNTIME)这个表示运行期注解,这样在反射的时候才能取到
安特矮油 2012-12-19
  • 打赏
  • 举报
回复
需要设置@Retention(RetentionPolicy.RUNTIME)这个表示运行期注解,这样在反射的时候才能取到

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧