注解
annotations
注解
v 注解简介
v 注解的应用
v 参考文献
注解简介
XDOT 为了代码生成写了一套基于JAVADOC的配置生成语法,用于取代XML,SUN然后把这种元标注的方法列入
注解应用
enum Visibility{
INTERNAL,PUBLIC
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface CodeCategroy {
Visibility visbility() default Visibility.INTERNAL;
boolean isUnitTested() default false;
boolean isReviewed() default false;
}
注解应用
@CodeCategroy(visbility=Visibility.INTERNAL)
static class ClassOne{
//...
}
@CodeCategroy(visbility=Visibility.PUBLIC,isUnitTested=true,isReviewed=true)
static class ClassTwo{
//...
}
注解应用
public class FirstTest {
public static void main(String[] args) {
ClassOne objectOne = new ClassOne();
printConvention(objectOne);
ClassTwo objectTwo = new ClassTwo();
printConvention(objectTwo);
}
public static void printConvention(Object obj){
System.out.println(obj.getClass().getAnnotation(CodeCategroy.class));
}
}
注解注意点
写自己的注解,一定要有
@Retention(RetentionPolicy.RUNTIME)
才生效的
注解的实质
注解的实质是java.lang.annotation包下的几个类,
编译器对于这种写法的做了点手脚,感
@interface 其实就是 Annotation类
感兴趣的童鞋可以找一下早期的JAVA反编译工具编译一下,如JAD
参考文献
Java EE 5.0(JSR 244)