2012-07-26 114 views
3

如何在main中访问中的Sample类是true还是false?
我应该在主课上写什么?运行时访问注释

package annotation; 

    import java.lang.annotation.Retention; 
    import java.lang.annotation.RetentionPolicy; 

    @Retention(RetentionPolicy.RUNTIME) 

    public @interface annotation { 
     public String name() default "Jimmy"; 
     public boolean check() default false; 
    } 

package annotation; 

    @annotation(name = "Jack", check = false) 

    public class Sample { 

     public String str = "Hi"; 

     public void printHi(String str) { 
      System.out.println(str); 
     } 
    } 

package annotation; 

    public class Main { 
     public static void main(String[] args) { 

     } 
    } 

回答

7

使用Sample.class.getAnnotation(annotation.class),让您的注释实例,并调用check()得到校验值:

System.out.println(Sample.class.getAnnotation(annotation.class).check()); 

注意,类应该有一个开始大写字母,并命名一个annota “注释”很混乱。