java 注解笔记

@Target:表示注解可以用在什么地方,由ElementType枚举定义

参数 含义
CONSTRUCTOR 构造器
field 域声明(包括enum实例)
local_variable 局部变量声明
method 方法参数
package 包声明
parameter 参数声明
type 类,接口或enum
annotation_type 应用于另一个注解
type_parameter 类型参数声明(1.8新加入)
type_use 类型使用声明(1.8加入)

@Retention表示需要在什么级别保存该注解信息

参数 含义
source 注解将被编译器丢弃(只会保留在源码里)
class 注解在class文件中可用,但是会被vm丢弃
runtime vm将在运行期间也保存注解,可用通过反射获取注解的信息

apt在编译时自动查找所有继承自AbstractProcessor的类,然后调用他们的process方法去处理

@Documented表示注解会被包含在javaapi文档里
@Inherited允许子类继承父类注解

注解元素

注解可用的类型有:
1.所有的基本类型(int,float,boolean,byte,double,char,long,short)
2.string
3.Class
4.enum
5.Annotation
元素的修饰符只能是public或者default

获取注解

1.类注解使用getAnnotation方法
2.方法注解Method.getAnnotation()
3.参数注解Method.getParameterAnnotations();返回二维数组
4.变量注解Field.getAnnotation()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 注解 创建注解 下面代码创建了一个名为MyAnno的注解,有两个成员str和val。@Retention(…)注解...
    kylinxiang阅读 9,252评论 0 2
  • 1:为什么要学习注解?学习注解有什么好处?学完能做什么? 1、能够读懂别人写的代码,特别是框架相关的代码 2、让编...
    小菜_charry阅读 1,823评论 0 0
  • 本文章涉及代码已放到github上annotation-study 1.Annotation为何而来 What:A...
    zlcook阅读 29,524评论 15 116
  • Java注解详解 Java注解是JDK1.5以后添加的特性,自定义注解需要声明为@interface。 最简单的注...
    hbh404阅读 1,319评论 0 0
  • 这幅作品是临摹华珠老师的,所以内容和色彩完全按照老师的原图完成。选择这一副图的原因有三个。一、我对时间管理比较感兴...
    颜麟鳗阅读 4,239评论 0 0

友情链接更多精彩内容