A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭军亮 中级黑马   /  2013-5-1 12:01  /  1280 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我定义的注解是这样的
  1. package edu.ay.day2;
  2. import java.lang.annotation.*;

  3. @Retention(RetentionPolicy.RUNTIME)
  4. @Target(ElementType.METHOD)
  5. public @interface AnnotationDemo {
  6.       String color() default "blue";
  7.       String value();
  8. }
复制代码
下面这个程序:
  1. package edu.ay.day2;

  2. import java.lang.annotation.Annotation;


  3. public class Annotationtest {

  4.         /**
  5.          * @param args
  6.          */
  7.         @AnnotationDemo("gjljgld")
  8.         public static void main(String[] args)throws Exception {
  9.                 // TODO Auto-generated method stub
  10.                 System.out.println(Annotationtest.class.isAnnotationPresent(AnnotationDemo.class));//<font color="#ff0000">为什么这儿输出时false呢</font>
  11.                 if(Annotationtest.class.isAnnotationPresent(AnnotationDemo.class)){
  12.                      AnnotationDemo ann = (AnnotationDemo)Annotationtest.class.getAnnotation(AnnotationDemo.class);
  13.                      System.out.println(ann.color());
  14.                      System.out.println(ann.value());
  15.                 }
  16.         }

  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
<font color="#ff0000">为什么这儿输出时false呢</font>这个你理解错意思了,我是想问 System.out.println(Annotationtest.class.isAnnotationPresent(AnnotationDemo.class))为什么输出的是false呢?
回复 使用道具 举报
Annotationtest这个类也没注解啊,所以返回false,你的注解加在函数上了,应该通过Method来访问
回复 使用道具 举报
请问一下如何通过Method来访问呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马