????2???????????????????value

????????????????????????@Copyright("Right Reserved")

????@Copyright("2011 bookegou.com All Right Reserved")

????3???????????

????@Override

????@Override

????4???????????????????

????@SuppressWarnings(value={"unchecked"??"fallthrough"})

????@SuppressWarnings(value={"unchecked"??"fallthrough"})

????5?????????????????????

????@Reviews{@Review(grade=Review.Grade.EXCELLENT??reviewer="df")??

????@Review(grade=Review.Grade.UNSATISFACTORY??reviewer="eg"??

????comment="This method needs an @Override annotation")})

????@Reviews{@Review(grade=Review.Grade.EXCELLENT??reviewer="df;)??

????????@Review(grade=Review.Grade.UNSATISFACTORY??reviewer="eg"??

????????????comment="This method needs an @Override annotation")})

????@Reviews?????????@Review????????????????@Review??????????????????????reviewer??comment????String???????comment????????grade??????????????

????4?????????

??????????????????????????

public class ParseAnnotation {
 
 public static void main(String[] args) throws Exception{
  final Class cls = Class.forName("com.annotation.TestAnnotation");
  final Method[] method = cls.getMethods();
 
  // ?ж????????????????????
  if(cls.isAnnotationPresent(Description.class)) {
   // ?????????????????????????
   Description des = (Description)cls.getAnnotation(Description.class);
   System.out.println("???????:" + des.value());
  }
 }
}

?????????????£?

???????????????????????

???????????????????????????????У????????????????????????????е?????????????????????????????С?????RetentionPolicy.RUNTIME???????????????????????????????????е????

??????JDK5.0??Package??Class??Constructor??Method???Field??????????????????????????????<T extends Annotation>T getAnnotation(Class<T> annotationClass)???÷?????????????????????????