注解之RetentionPolicy,ElementType
public enum RetentionPolicy { SOURCE, CLASS, RUNTIME }
SOURCE:表示这个Annotation类型的信息只会保留在源码里,源码经过编译之后,Annotation的数据就会消失,并不会保留在编译好的.class文件里;
CLASS:表示这个Annotation类型的信息在源码保留,在.class文件也保留,但不会把这些信息加载到虚拟机(JVM)中,如果不设置,系统默认值是CLASS;
RUNTIME:表示在源码,编译后的.class都保存信息,在执行的时候也会把这些信息加载到JVM中
ElementType.java
public enum ElementType { TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE,PACKAGE
}
@Target里面的ElementType是用来制定Annotation可以用在那一种类型,说明一下
TYPE(类型)
FILED(字段)
METHOD(方法)
PARAMETER(参数)
CONSTRUCTOR(构造器)
LOCAL_VARIABLE(局部变量)
ANNITATION_TYPE(注解)
PACKAGE(包)
其中TYPE是指可以用在class,interface,eumn,annotation上面,如果没有制定,那么它可以用在任何上面 如果想把annotation的数据继承给子类,那就需要用到@Inherited这个annotation类型
转载于:https://www.cnblogs.com/mihun-666/p/9593629.html
注解之RetentionPolicy,ElementType相关推荐
- @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited注解
这些都是Java中的注解(Annotation),它们的作用如下: @Target @Target注解用于指定注解可以应用的程序元素类型,它有一个ElementType枚举类型的参数,可以取值为: E ...
- Java注解解读-ElementType详解
文章目录 注解须知前言 @Target @Retention @Inherited @Documented @Repeatable 注解须知前言 Java注解使用是相当频繁,特别是在在框架源码使用,用 ...
- java中的注解(二)
今天我继续来介绍java中的注解.注解与接口和类不同的是注解是不允许继承的,但是注解中有一个和继承有关的元注解:@Inherited.如果我们在定义注解时候加上这个元注解那么我们就可以在子类中监测到该 ...
- 谈谈 Java 中自定义注解及使用场景
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:快给我饭吃 www.jianshu.com/p/a7bedc ...
- 你分析过@Annotation注解的实现原理吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:阿丙 主页:www.cnblogs.com/acm-bing ...
- java 注解开发_Java中的注解到底是如何工作的?
作者:人晓 www.importnew.com/10294.html 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分.开发过程中,我们也时常在应用代码中会看到诸如@Over ...
- 简述java中的注释以及用法_怎样理解 Java 注解和运用注解编程?
正好最近在公众号(BetterAndroid)发了一篇关于注解的文章,贴在这里吧,希望对题主有帮助. 一.什么是注解 我们都知道在Java代码中使用注释是为了提升代码的可读性,也就是说,注释是给人看的 ...
- 自定义注解妙用,一行代码搞定用户操作日志记录,你学会了吗?
来源:https://blog.csdn.net/yjt520557/article/details/85099115 | 简介 我在使用spring完成项目的时候需要完成记录日志,我开始以为Spri ...
- 一次性搞懂Spring Boot 注解原理与自动装配原理,图文并茂,万字长文!
原文:cnblogs.com/jing99/p/11504113.html 首先,先看SpringBoot的主配置类: @SpringBootApplication public class Star ...
最新文章
- 万豪酒店数据库遭入侵 5亿顾客信息或泄露
- 46. AngularJS所有版本下载
- 值域范围 tf.clip_by_value的用法
- 18.用宏定义实现 得到两个数的最值
- BAdI:ME_PROCESS_REQ_CUST弹出消息问题
- 从新冠疫情出发,漫谈 Gossip 协议
- ERROR: Command errored out with exit status 1一例
- vb.net textbox如何输入的时候显示提示文字_如何快速上手CAD?这15种教课书式的ideas请你收下...
- linux 下source命令
- python常用的装饰器库_Python中的各种装饰器详解
- Spark源码分析之Job触发原理
- 揭秘设计模式:策略模式(Strategy)的枚举(Enum)实现
- ObjC学习3-类、继承、重载
- 【每日算法Day 74】经典面试题:约瑟夫环,我敢打赌你一定不会最后一种方法!...
- 快速突破面试算法之动态规划篇
- Word入门教程之插入文字批注(转)
- pmp知识点(12)-项目采购管理
- 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能
- [Android]之一:Android系统下载管理DownloadManager
- 操作系统内核Hack:(二)底层编程基础