Java - 注解 (Annotation)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Java - 注解 (Annotation)

简介: Java - 注解 (Annotation) 一、基本的 Annotation     > 使用 Annotation 时要在其前面增加 @符号,并把该 Annotation 当成一个修饰符使用,用于修饰它支持的程序元素 1、三个基本的 Ann...
Java - 注解 (Annotation)

一、基本的 Annotation
    > 使用 Annotation 时要在其前面增加 @符号,并把该 Annotation 当成一个修饰符使用,用于修饰它支持的程序元素

1、三个基本的 Annotation :
    > @Override:限定重写父类方法,该注释只能用于方法
    > @Deprecated:用于表示某个程序元素(类,方法等)已过时
    > @SuppressWarnings:抑制编译器报警

2、自定义注解
public @interface MyAnnotation{
    String value() default  "hello";    // 默认值
}
@MyAnnotation(value = "heyan")

3、元注解:给注解做注解
    > Retention:只能用于修饰一个 Annotation  定义,用于指定该 Annotation  可以保留多长时间,@Retention 包含一个
            RetentionPolicy类型的成员变量,使用@Rentention 时必须为该value 成员变量指定值:
        > RetentionPolicy.SOURCE:编译器直接丢掉这种策略的注释
        > RetentionPolicy.CLASS:系统默认值,编译器将把注释记录在class文件中,当运行Java程序时,JVM不会保留注解
        > RetentionPolicy.RUNTIME:编译器将把注释记录在class文件中,当运行Java程序时,JVM会保留注释,程序可以
            通过反射取得该注解
    > Target:用于修饰一个 Annotation  定义,用于指定被修饰的 Annotation 能用于修饰哪些程序元素,@Target 也包含
        一个名为value的成员变量
    > Documented:用于指定被该元 Annotation 修饰的 Annotation 类将被javadoc工具提取成文档
        > 定义为@Documented 的注解必须设置Retention值为RUNTIME
    > Inherited:被他修饰的 Annotation 将具有继承性,如果某个类使用了被 @Inherited 修饰的 Annotation,则其子类将自
        动具有该注解 (实际应用中不是很多)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章