注解

来源:互联网 发布:哈尔滨php在哪找工作 编辑:程序博客网 时间:2024/05/16 10:54

1. jdk自带的注解

@Override重写父类的方法,如果不重写父类的方法会给出警告


@Deprecated不建议被使用的方法


@SuppressWarnings("unchecked")将警告压制住

若要压制两个警告 ,则由数组构成,例如:@SuppressWarnings({"unchecked",“deprecation”})


2.自定义注解

1 public @Interface AnnotationTest()

{

String value() default “World”;

}

除了value以外的其他值,例如value1,在使用注解时必须使用value1 = “Hello”的形式


2 如果有两个注解参数,无需考虑顺序,中间用,隔开就行, 注意类型匹配


3 我们自定义的注解隐含的继承了java.lang.Annotation接口;如果我们定义了一个接口继承了Annotation,它还是一个接口,而不是注解。Annotation本身是接口而不是注解。

<可以与Enum类比>。


3 @Interface Retention与 Enum RetentionPolicy

1 RetentionPolicy为SOURCE的例子是@SuppressWarnings仅在编译期间压制警告,所以不必将这个信息存储与.class档案中


2 RetentionPolicy为RUNTIME的时机

Class,Method等等都实现了同一个接口AnnotatedElmment,所以获取这些对象之后就可以调用AnnotatedElmment中的方法,例如Method对象.isAnnotationPresent(注解),返回一个boolean值

我们可以以反射的方法将被@Retention( RetentionPolicy.RUTIME)修饰的注解读取过来,而CLASS和SOURCE则不行


4 @Target与Enum ElementType

例如@Target(ElementType.METHOD)的意思是被这个修饰的注解只能修饰方法


5 生成帮助文档 点Project中的javadoc,需要自己吧注解加入文档中 @Documented









0 0
原创粉丝点击