2012-07-26 159 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 「註釋」很混亂。