java中的注解

文章目录

    • 定义
    • 格式
    • 使用
    • 类型
      • 内置注解
      • 元注解
      • 自定义注解
    • 注解实现

定义

  1. 注解一般用于对程序的说明,想注释一样,但是区别是,注释是给人看的,注解是给程序看的
  2. 让编译器进行编辑检查的作用,比如:@Override修饰的方法,如果改动了方法签名,将会编译报错

格式

注解是以@注解名在代码中存在,还可以添加一些参数值,例如:@SupperssWarnings(value=‘unchecked’)

使用

可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,以后可以通过反射来获取这些注解信息

类型

  1. 内置注解

    1. @Override:修饰方法,表示这个方法重写了父类方法
    2. @Deprecated:修饰方法、属性、类,表示不鼓励程序员使用这些元素,通常是因为它很危险,或者存在更好的选择,通俗的说是遗弃
    3. @SuppressWarnings:用来一直编译时的警告信息,其参数deprecation:使用了过时的类或者方法的警告,unchecked:执行了为检查时的转化时的警告,path:在类路径、源文件路径等中有不存在的路径的警告,all:以上所有信息的警告
  2. 元注解

    1. 用于注解注解的,java中提供了四个元注解:
      1. @Target注解,用来描述注解的使用范围,其参数值:TYPE(类,接口等),FIELD(变量),METHOD(方法),PACKAGE(包),PARAMETER(参数)
      2. @Retention注解(用来描述注解什么时候还有效,用来描述注解的生命周期),参数值:SOURCE(源文件保留),CLASS(编译期保留,默认是),RUNTIME(运行期保留,可以通过反射获取注解信息,一般自定义注解都使用这个值)
      3. @Documented注解(用来标注生成的javadoc的时候是否会被记录,了解就好)
      4. @Inherited注解(使被修饰的注解具有继承性)
  3. 自定义注解

    1. @interface是用来声明一个注解,格式:public @interface 注解名{}
    2. 注解其中的每一个方法,实际上是声明了一个配置参数
    3. 方法名就是参数的名字
    4. 返回值类型就是参数的类型
    5. 可以通过default来声明参数的默认值
    6. 如果只有一个方法,也就是只有一个参数时,一般参数名称建议使用value,因为value可以省略不写
    7. 注解参数必须有值,如果没有设置默认值,就必须赋值
public @interface MyAnnotation{String value() default "123";
}

注解实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/21955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

富格林:正确应对虚假暗箱计策

富格林悉知,当前投资者对现货黄金交易热情高涨,要想通过现货黄金交易获得可观的收益,那么对于行情的准确分析和判断便是不可或缺的。富格林认为,基本上每位投资者都需要花费时间和精力去学习正规的技巧提高操作技术才可正确应对虚…

osi七层网络模型安全加固

应用层加固 应用层的攻击: 1、针对应用层协议的攻击:HTTP攻击、DNS攻击、电子邮件攻击等,利用应用层协议的漏洞,构造恶意数据包,是目标服务器执行恶意代码或暴露敏感信息 HTTP攻击:XSS、CSRF、HTTP头注入…

你每天都在用的APP,原来都是Python写的!

👆点击关注 获取更多编程干货👆 要说Python的用途,那可太多了,也许你不知道Python是什么,但你一定用过它开发的产品,就像你可能不了解汽车引擎的构造,但你每天都享受着汽车带来的便利一样。 比…

stm32-DMA转运数据

在配置前要记得先定义一下DMA转运的源端数组和目标数组两个数组哦。 接下来我们就开始准备配置吧 配置 初始化 1.RCC开启时钟(开启DMA的时钟) void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) 作用:开启时…

深入探讨Qt中的QVariant

深入探讨Qt中的QVariant 在Qt框架中,QVariant是一个非常强大的类,用于在运行时存储和操作不同类型的值。它类似于C标准库中的std::any或boost::any,能够动态存储任意类型的值,并且在需要时进行类型转换。本文将详细介绍QVariant的…

AbMole《丝光交织,未来可期:新型多功能丝素蛋白/透明质酸支架为脊髓修复带来新希望》

在生物医学领域,脊髓损伤(Spinal Cord Injury, SCI)的修复一直是一个巨大的挑战。由于脊髓缺乏自我修复的能力,一旦发生损伤,往往会导致永久性的功能障碍。然而,随着组织工程和生物材料科学的发展&#xff…

注册域名用哪个后缀好?

在互联网的世界中,域名是您品牌、业务或个人在线身份的基石。选择正确的域名后缀对于建立在线存在感和吸引目标受众至关重要。随着新顶级域名(New gTLDs)的涌现,域名后缀的选择变得多样化。本文将探讨如何选择最适合您需求的域名后缀。 传统顶级域名(TL…

如何在Weblogic环境中启动认证方式对接Zabbix监控

在WebLogic Server中,启动认证可用于确保只有经过授权的用户和系统能够访问WebLogic Server及其应用程序,通过合理配置认证提供者和安全领域,管理员可以有效管理和控制用户访问。 本文将详细介绍如何在Weblogic环境中配置启动认证并对接Zabb…

用域名访问的网站一定要用OV SSL证书

一、什么是域名 域名,英文名为Domain Name,是互联网上用于识别和定位计算机的层次结构式的字符标识符,通过一系列的字符和点来表示,用于在数据传输时标识计算机的电子方位。简单来说,域名就是网站在互联网上的地址&am…

Django视图层探索:GET/POST请求处理、参数传递与响应方式详解

系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游&#xff…

【源码】源码物品销售系统多种支付接口出售源码轻松赚钱

源码物品销售系统,多种支付接口,出售源码轻松赚钱。一款基于phpmysql开发的内容付费管理系统。系统支持多种收费方式,免签收款,三级分销,实名认证, 用户投稿/奖励,自动升级,佣金提现…

oracle如何查看同义词

在Oracle数据库中,查看同义词的方法主要有以下几种,这些方法可以通过查询不同的数据字典视图来实现: 使用ALL_SYNONYMS视图: 当你想要查看数据库中所有你有权限访问的同义词时,可以使用ALL_SYNONYMS视图。查询语句示例…

python中的循环控制语句break与continue

学习这两个语句之前,我们要先了解这两个语句是什么意思: break:中断、打破的意思。所以它的跳出循环的意思 continue:继续的意思,意思是跳过当前条件,继续循环 新需求来了!我们不仅要告诉 Py…

Spark SQL - 操作数据集

本教程将通过一个具体的案例来演示如何在Spark SQL中操作数据集。我们将从创建本地文件开始,然后上传到HDFS,并使用Spark Shell启动Spark程序。接下来,我们将加载数据为DataSet,并给DataSet添加元数据信息。最后,我们将…

ChineseChess.2024.06.03

ChineseChess.2024.06.03 中国象棋,我下得不是象棋,是娱乐,是想看看自己的程序。哈哈 看很多主播挂棋局,吹牛批,为了涨粉,挂着,蛮摆个残局 中国象棋残局模拟器ChineseChess.2024.06.03

RabbitMQ(Direct 订阅模型-路由模式)的使用

文章目录 RabbitMQ(Direct 订阅模型-路由模式)一,Direct 订阅模型-路由模式介绍(Routing)二,使用1.添加依赖2.修改配置文件3.创建配置类4.注入RabbitMQ模版引擎5.消息的发送6.消息的接收(监听)7.设置回调函…

使用Docker Compose部署包含MySQL、Redis、Nginx和Mosquitto的容器

一.离线安装Docker Compose 1.下载安装包Docker Compose https://github.com/docker/compose/releases/download https://objects.githubusercontent.com/github-production-release-asset-2e65be/15045751/93aa98bb-8fce-4c53-bc53-7ce2ecb1a872?X-Amz-AlgorithmAWS4-HMAC-S…

智能指针交叉引用问题怎么解决?

概念 类A中有一个指向类B的shared_ptr强类型智能指针,类B中有一个指向类A的shared_ ptr强类型智能指针。在main函数中创建类A,类B的智能指针并且调用,此时,有两个强智能指针指向了对象A,对象A的引用计数为2。也有两个强智能指针指…

谁将决战上海滩,决定权在你手里

关注我们 - 数字罗塞塔计划 - 5月6日雨轩兰台的《【大比武01】AIGC赋能档案文创设计的尝试》,打响了“华夏伟业”杯第二届大比武活动的第一枪,截止到5月31日,入选的10篇优质内容已全部揭晓,好评如潮。感谢雨轩兰台、微柏软件、昀…

三种常见的报表模板,省时又方便

前言 在业务应用和数据分析中,报表是一种常见的数据展示形式,可以帮助用户更直观地理解和解读数据。然而,每次创建和设计一款报表都需要花费大量的时间和精力。为了提高报表设计的效率,本文小编以葡萄城公司的嵌入式BI工具——Wy…