java 常见注解与元注解说明

java 常见注解与元注解说明

常见标准的Annotation

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();
}
  1. Override
    被标记的方法为子类重写父类的方法,如果不是编译时会报错
  2. Deprecated
    被标注的程序元素已过期,不推荐使用
  3. SuppressWarnings
    忽略掉无法识别的警告, 如 @SuppressWarnings(“unchecked”)

元注解

java.lang.annotation 提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要使用到元注解):

  • @Documented :表示是否将注解信息添加在JavaDoc中
  • @Retention :定义该注解的生命周期
  • @Target :该注解可标记的程序元素
  • @Inherited :允许子类继承该注解
  1. @Documented :表示是否将注解信息添加在JavaDoc中。
  2. @Retention –:定义该注解的生命周期
    • RetentionPolicy.SOURCE : 在编译阶段丢弃。这些注解在编译结束之后就不再有任何意义,所以它们不会写入字节码。如:@Override, @SuppressWarnings
    • RetentionPolicy.CLASS : 在类加载的时候丢弃。在字节码文件的处理中有用
    • RetentionPolicy.RUNTIME : 始终不会丢弃,运行期也保留该注解,因此可以使用反射机制读取该注解的信息。我们自定义的注解通常使用这种方式
  3. Target : 该注解可标记的程序元素。可用的ElementType 参数包括
    • ElementType.CONSTRUCTOR: 用于描述构造器
    • ElementType.FIELD: 成员变量、对象、属性(包括enum实例)
    • ElementType.LOCAL_VARIABLE: 用于描述局部变量
    • ElementType.METHOD: 用于描述方法
    • ElementType.PACKAGE: 用于描述包
    • ElementType.PARAMETER: 用于描述参数
    • ElementType.TYPE: 用于描述类、接口(包括注解类型) 或enum声明
  4. @Inherited : 允许子类继承该注解, 父类使用使用了@Inherited 修饰的annotation,子类也将继承该annotation
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值