java注解总结


lang下annotation包结构如下:
在这里插入图片描述

元注解

@Documented 是否生成javadoc

该注解没有参数,无需赘述

@Retention 生效时机

源码定义如下:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
    RetentionPolicy value();
}

范围由RetentionPolicy 这个枚举类定义,

public enum RetentionPolicy {
    //生效在源码阶段
    SOURCE,
    //生效在class文件
    CLASS,
    //生效程序运行期间
    RUNTIME
}

@Target 生效范围

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
    //生效范围可以是一个数组
    ElementType[] value();
}

ElementType定义如下:

public enum ElementType {
    //生效在类、注解、接口和枚举
    TYPE,
    //成员变量、枚举常量
    FIELD,
 	//方法
    METHOD,
    //变量
    PARAMETER,
   //构造方法
    CONSTRUCTOR,
   //本地变量
    LOCAL_VARIABLE,
    //注解类型
    ANNOTATION_TYPE,
    //包
    PACKAGE,
    //变量类型 java8新加
    TYPE_PARAMETER,
    //使用类型
    TYPE_USE

@Inherited 是否可继承

@Repeatable 表明标记的注解可以多次应用于相同的声明或类型,此注解由Java SE 8版本引入

Java自带的标准注解

包括@Override@Deprecated@SuppressWarnings,分别用于标明重写某个方法、标明某个类或方法过时、标明要忽略的警告,用这些注解标明后编译器就会进行检查。

自定义注解

使用元注解自定义注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值