当前位置: 首页 > 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.lryc.cn/news/613940.html

相关文章:

  • Azure OpenAI gpt5和AWS Secrets Manager构建智能对话系统
  • Windows10中wls2因网络问题无法拉取Docker/Podman容器镜像
  • mysql复制连接下的所有表+一次性拷贝到自己的库
  • 深入解析C++流运算符(>>和<<)重载:为何必须使用全局函数与友元机制
  • 专利服务系统平台|个人专利服务系统|基于java和小程序的专利服务系统设计与实现(源码+数据库+文档)
  • 基于Flask + Vue3 的新闻数据分析平台源代码+数据库+使用说明,爬取今日头条新闻数据,采集与清洗、数据分析、建立数据模型、数据可视化
  • 在 Debian 系统上安装 Redis服务
  • 驾驭数据库迁移:在 Django 与 Flask 中的全流程实战指南
  • Spark01-初识Spark
  • 柠檬笔试——野猪骑士
  • apache cgi测试
  • Docker容器部署前端Vue服务
  • Spring Boot + Angular 实现安全登录注册系统:全栈开发指南
  • 【AI】从零开始的文本分类模型实战:从数据到部署的全流程指南
  • BBH详解:面向大模型的高阶推理评估基准与数据集分析
  • C++信息学奥赛一本通-第一部分-基础一-第3章-第1节
  • 支持向量机(SVM)全解析:原理、类别与实践
  • MySQL数据库操作练习
  • Go通道操作全解析:从基础到高并发模式
  • 微算法科技(NASDAQ:MLGO)使用循环QSC和QKD的量子区块链架构,提高交易安全性和透明度
  • 机器学习——KMeans聚类算法(算法原理+超参数详解+实战案例)
  • 计算机视觉CS231n学习(5)
  • 手搓MCP全流程指南:从本地开发部署到PyPI公开发布
  • 构建健壮的数据库连接池:高并发 Web 应用的制胜之匙
  • 面向真实场景的定制化图像降质模型设计方案
  • 深度剖析主流AI大模型的编程语言与架构选择:行业实践与技术细节解读
  • Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具
  • 什么是2米分辨率卫星影像数据?
  • Baumer相机如何通过YoloV8深度学习模型实现高速公路车辆的实时检测计数(C#代码UI界面版)
  • 无服务器日志分析由 Elasticsearch 提供支持,推出新的低价层