import java.lang.annotation.Annotation; 
import java.lang.annotation.Retention; 
import java.lang.annotation.RetentionPolicy; 
 
@Retention(RetentionPolicy.RUNTIME) 
@interface MyAnnotation { 
  String stringValue(); 
 
  int intValue(); 
} 
 
@Retention(RetentionPolicy.RUNTIME) 
@interface What { 
  String description(); 
} 
 
@What(description = "An annotation test class") 
@MyAnnotation(stringValue = "for class", intValue = 100) 
public class Main { 
  @What(description = "An annotation test method") 
  @MyAnnotation(stringValue = "Annotation Example", intValue = 100) 
  public static void myMethod(String str, int i) { 
  } 
 
  public static void main(String[] arg) throws Exception { 
    Main ob = new Main(); 
    Annotation[] annos = ob.getClass().getAnnotations(); 
 
    System.out.println("All annotations for Meta2:"); 
    for (Annotation a : annos) 
      System.out.println(a); 
  } 
} 
 
    
     
     
     
     
     
  
  |