import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented//在生成javadoc文档的时候将该Annotation也写入到文档中。
@Inherited
public @interface People {
// 姓名
String name() default "java developer";
// 年龄
int age();
// 性别
boolean sex();
}
测试类:
@People(name = "ruby developer", age = 20,sex=false)
public class TestPeople {
@SuppressWarnings(value = "unchecked")
public static void main(String[] args) {
Class clazz = TestPeople.class;
if (clazz.isAnnotationPresent(People.class)) {
People desc = (People) clazz.getAnnotation(People.class);
System.out.println("desc.author:" + desc.name());
System.out.println("desc.size:" + desc.age());
} else {
System.out.println("没有在DescriptionTest上使用注解!");
}
}
}