当前位置: 首页 > news >正文

Java-注解

一.定义

注解是一个标记,是用于为代码元素提供元数据,给代码添加说明信息

实质上是继承自Annotation接口的一个接口

二.作用

1.通过代码中标识的注解生成文档

2.通过代码中的标识注解进行分析

3.通过注解让编译器实现基本的编译检查

三.JDK中预定义的注解

1.@Override:检查方法是否是继承自父类或接口的,不是则报错

2.@Deprecated:表示该注解标识的内容已经过时,不推荐使用

3.@SuppressWarnings:用于压制警告

四.元注解

用于描述注解的注解称为原注解

1.@Target:

注解标注在哪里

ElementType 取值作用范围
TYPE类、接口(包括注解类型)、枚举
METHOD方法(包括普通方法、抽象方法、接口方法)
FIELD成员变量(包括枚举常量)
PARAMETER方法参数
CONSTRUCTOR构造方法
LOCAL_VARIABLE局部变量
ANNOTATION_TYPE注解类型本身
PACKAGE
TYPE_PARAMETER类型参数(JDK 1.8+)
TYPE_USE任何使用类型的地方(JDK 1.8+)

2.@Retention:

注解存活时间

RetentionPolicy 取值保留阶段
SOURCE仅在源码阶段保留,编译时被丢弃
CLASS保留到字节码文件,运行时不保留
RUNTIME保留到运行时,JVM 可通过反射获取

3.@Documented:

注解是否进文档

4.@Inherited:

注解是否被子类继承

五.自定义注解

1.注解的格式:

元注解
public @interface 注解名称{属性列表;
}

2.属性列表(属性:注解中的方法)

属性的返回值可以为:

1.基本数据类型

2.枚举类型

3.String类型

4.注解

5.以上对应的数组

3.属性的赋值

1.定义属性时,如果使用default设置了默认值初始化值,可以不进行赋值

2.如果只有一个属性需要赋值且属性名为value,可以不申明属性名

3.对数组进行赋值时,值使用{}进行包裹,当只有一个值时,可以不使用{}

http://www.dtcms.com/a/321861.html

相关文章:

  • 重新 mybatis plus 的 撒着OrUpdate 方法,实现根据自定义字段插入或者修改
  • P1044 [NOIP 2003 普及组] 栈
  • B4263 [GESP202503 四级] 荒地开垦 题解
  • 【工作笔记】Docker Desktop一直转圈加载不出来然后报错
  • 提升LLM服务效率的秘密武器——vLLM!
  • Docker 安装 Redis
  • 机柜中不同类型板卡的操作系统配置情况一览
  • 解决苍穹外卖项目中 MyBatis - Plus 版本冲突问题
  • 【Linux运维】深入理解Cookie与Session机制:安全性与性能的平衡艺术
  • SAP接口日志查询
  • 多级缓存架构:新品咖啡上线引发的数据库压力风暴与高并发实战化解方案
  • 数据返回后需要刷新才会展示的解决方法
  • Vue3 组合式API
  • 飞算JavaAI深度解析:专为Java生态而生的智能引擎
  • 快速了解svm算法
  • Java 执行 SFTP 文件上传和下载
  • ​​《深入浅出K-means算法:从原理到实战全解析》​预告(提纲)
  • 【Spring Boot 快速入门】八、登录认证(一)基础登录与认证校验
  • 阿里巴巴高级Java工程师面试算法真题解析:LRU Cache实现
  • 详解 RT-Thread 串口一配置、设备查找与打印功能(rt_kprintf)的绑定机制
  • 完整设计 之 运行时九宫格 (太乙九宫 播放器)
  • AI 记忆管理系统:工程实现设计方案
  • 【感知机】感知机(perceptron)学习算法知识点汇总
  • 代码随想录算法训练营第三十八天、三十九天|动态规划part11、12
  • 【LLM开发学习】
  • 小程序实现二维码图片Buffer下载
  • C#结合HALCON去除ROI选中效果的实现方法
  • django uwsgi启动报错failed to get the Python codec of the filesystem encoding
  • 如何永久删除三星手机中的照片?
  • Nestjs框架: 接口安全与响应脱敏实践 --- 从拦截器到自定义序列化装饰器