首页 > 编程语言 >Java注解

Java注解

时间:2022-08-21 23:11:43浏览次数:46  
标签:Java 自定义 可以 RetentionPolicy 修饰 注解 工具

1. 注解入门

1.1 Annotation

  • 位于源码中(代码/注释/注解),使用其他工具进行处理的标签
  • 注解用来修饰程序的元素,但不会对被修饰的对象有直接的影响
  • 只有通过某种配套的工具才会对注解信息进行访问和处理
  • 主要用途
    • 提供信息给编译器/IDE工具
    • 可用于其他工具来产生额外的代码/配置文件等
    • 有一些注解可在程序运行时访问,增加程序的动态性

1.2 JDK预定义的普通注释(部分)

  • @Override 表示继承和改写
  • @Deprecated 表示废弃
  • @SuppressWarnings 表示压制告警
  • @SafeVarags 不会对不定项参数做危险操作
  • @FunctionInterface 声明功能性接口

1.3 JDK预定义的元注解(部分)

元注解:修饰注解的注解

  • @Target 设置目标范围
  • @Retention 设置保持性
    • RetentionPolicy.SOURCE 注解仅存在源码,不在class文件
    • RetentionPolicy.CLASS 默认的注解保留策略,注解存在于class文件,但是不能被JVM加载
    • RetentionPolicy.RUNTIME 注解可以被JVM运行时访问到,通常情况下,可以结合反射来做一些事情
  • @Documented 文档 (指明这个注解可以被Javadoc工具解析,形成帮助文档)
  • @Inherited 注解继承 (让一个类和它的子类都包含某个注解,普通的注解没有继承功能)
  • @Repeatable 此注解可以重复修饰

1.4 自定义注解

  • 注解可以包括的类型
    • 8种基本类型(int/short/long/float/double/byte/char/boolean)
    • String
    • Class
    • enum类型
    • 注解类型
    • 由前面类别组成的数组
  • 自定义注解
    • 扩展于java.lang.annotaion.Annotation
    • 成员可以包括多种类型
    • 使用时可以给注解成员赋值
    • 用于修饰多种程序元素

标签:Java,自定义,可以,RetentionPolicy,修饰,注解,工具
From: https://www.cnblogs.com/hunter-w/p/16611359.html

相关文章

  • Java基础练习题-错题集(一)
    (1)下面代码输出结果是?classC{C(){System.out.print("C");}}classA{Cc=newC();A(){this("A");System.o......
  • Elasticsearch Java client使用
    前言Elasticsearch官方列出了好几个客户端,如下所示JavaClientJavaRestClient(JavaHighLevelRESTClient)JavaTransportClient其中JavaRestClient在7.15.0被......
  • 《Java周边》IDEA操作说明
    1. setting设置1.1设置字体大小:1.2设置文件层级1.3编码设置 设置默认值:1.4设置注释模板1.5属性断点1.6异常断点1.7条件断点1.8调试(强制调用......
  • Java八股文纯享版——目录
    《Java八股文纯享版——篇①:Java基础》《Java八股文纯享版——篇②:并发编程》《Java八股文纯享版——篇③:JVM》《Java八股文纯享版——篇④:数据库》《Java八股文纯享......
  • Java时间格式:yyyy-mm-dd转换为yyyy年mm月dd日
    Java时间格式:yyyy-mm-dd转换为yyyy年mm月dd日1:sql直接操作SELECTDATE_FORMAT(‘2022-01-04’,’%Y年%m月%d日’)--结果就是:2022年01月04日122:java格式化操作......
  • 介绍下Java内存区域(运行时数据区)
    介绍下Java内存区域(运行时数据区)Java虚拟机在执行Java程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK1.8和之前的版本略有不同。下图是JDK1.8对J......
  • Java 常用类和方法
    JavaMath类xxxValue()方法用于将Number对象转换为 xxx 数据类型的值并返回。   Javaequals()方法equals()方法用于判断Number对象与方法的参数进是......
  • Java中的参数传递,到底是值传递还是引用传递?
    1、Java中的参数传递,到底是值传递还是引用传递?结论:Java只有值传递,没有引用传递!错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果......
  • 9.Java的LinkedList/Deque相关方法
    Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别它们来自不同的接口add/remove源自集合,所以添加到队尾,从队头删除;offer/poll源自队列(先进先出=>尾进......
  • Java学习 (26) 异常篇 异常结构&异常处理&自定义异常
    目录异常结构异常的定义异常的分类ErrorExpectionError和Exception的区别具体讲解视频异常处理捕获异常语法实例抛出异常语法实例具体讲解视频自定义异常具体讲解视频异常......