JAVA学习笔记(注解)

news2025/1/16 11:12:02

1. JDK预定义注解

(1) @Deprecated(表示标记对象已过时)

(2) @SuppressWarnings("all") (忽略标记对象的警告)

2. 元注解(用于描述注解的注解)

@Target 描述注解所生效的位置

@Retention 描述注解被保留的阶段(生命周期)

@Documented 描述类内的注解(含其他)可被抽取到api文档

@Inherited 描述类内的注解会被子类继承

(1) @Target

只有ElementType的value属性

TYPE:注解作用于类或接口

FIELD:注解作用于成员变量

METHOD:注解作用于方法

CONSTRUCTOR:注解作用于构造器

(2) @Retention

只有RetentionPolicy的value属性

SOURCE:注解存在于代码阶段,源码不存在

CLASS:注解存在于字节码阶段,运行不存在

RUNTIME:注解存在于所有阶段

3. 自定义注解(Annotation)

(1) 自定义注解(新建)

自定义注解本质是,实现(Annotation接口)的接口

(2) 自定义注解(属性)

类型1:基本类型(byte, short, int, long, double, float, boolean, char)

类型2:String

类型3:枚举类

类型4:注解

类型5:上记类型的数组

 (3) 使用属性

 (4) 属性默认值

指定了默认值的属性,使用时可以不指定初期化值。

 (5) 默认属性

如果属性,只有value属性,使用时可以不指定属性名

 

4. 解析注解

 通过反射机制,获取注解的值

(1) 获取对象的注解( getAnnotation(注解.class) 或 getAnnotations() )

 (2) 获取对象注解的值

 (3) 代码测试

1.定义枚举类

 2. 定义注解类

 3. 定义使用注解类和方法

 4. 反射获取值

 5. 执行结果

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

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

相关文章

SpringBooot

目录 一、简介 1、使用原因 2、JavaConfig (1)Configuration注解 (2)Bean注解 (3)ImportResource注解 (4)PropertyResource注解 (5)案例 3、简介 4…

Faster-RCNN代码解读8:代码调试与总结

Faster-RCNN代码解读8:代码调试与总结 前言 ​ 因为最近打算尝试一下Faster-RCNN的复现,不要多想,我还没有厉害到可以一个人复现所有代码。所以,是参考别人的代码,进行自己的解读。 ​ 代码来自于B站的UP主&#xff0…

网络协议-前端重点——DNS和CDN

目录 DNS的基础知识 统一资源定位符(URL)(网址) DNS(Dimain Name System)(域名系统) DNS Query过程 DNS记录 A记录 AAAA记录 CNAME记录(Canonical Name Record) MX记录&#…

Blender3.5 视图切换

目录 1. 数字小键盘切换视图1.1 正交顶视图1.2 正交前视图1.3 正交右视图1.4 透视图1.5 四格视图 2. 鼠标点击切换视图2.1 点击视图,根据需求选择对应视图2.2 点导航栏的坐标轴切换 3. 启用字母区数字键3.1 编辑——偏好设置——输入——勾选“模拟数字键” 1. 数字…

Linux驱动——高级I/O操作(四)

目录 几种I/O模型总结 异步通知 几种I/O模型总结 阻塞 IO:在资源不可用时,进程阻塞,阻塞发生在驱动中,资源可用后进程被唤醒,在阻塞期间不占用CPU,是最常用的一种方式。 非阻塞 I/O: 调用立即返回,即便是在资…

《Unity Shader 入门精要》第10章 高级纹理

第10章 高级纹理 10.1 立方体纹理 在图形学中,立方体纹理 (Cubemap) 是环境映射 (Environment Mapping) 的一种实现方法。 和之前见到的纹理不同,立方体纹理一共包含了6张图像,这些图像对应了…

typescript的keyof的用法

第一种:与接口一起用,返回联合类型 interface Person {name: string;age: number;location: string;}type K1keyof Person; // "name" | "age" | "gender" let a:K1name 第二种:与typeof一起用,可…

天梯赛练习(L2-013 ~ L2-020)

L2-013 红色警报 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一…

【springcloud开发教程】负载均衡——Ribbon

Ribbon是什么? Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 的…

CentOS7安装docker以及docker-compose

前言 系统版本:CentOS7.9 docker版本:当前最新版本是23.0.3 docker compose版本:v2.17.2 参考官网文档:跳转链接 安装docker 删除原有的docker(如果有的话) sudo yum remove docker \docker-client …

CSAPPLab1-DataLab

1、bitXor 异或:不是同时为0和不是同时为1的情况进行按位与 /** bitXor - x^y using only ~ and &* Example: bitXor(4, 5) 1* Legal ops: ~ &* Max ops: 14* Rating: 1*/int bitXor(int x, int y) {return ~(~x & ~y) & ~(x & y); } …

可鉴别加密工作模式-同时保护数据机密性和完整性(OCB、CCM、KeyWrap、EAX和GCM)第一部分

当算法用于同时保护数据的机密性和完整性时,应选取合适的可鉴别加密工作模式,例如OCB、CCM、KeyWrap、EAX和GCM等工作模式。以下总结来自GBT36624-2018国标文本。 在可鉴别加密工作模式之前,先来说说分组密码的工作模式可参考GBT17964-2021版…

反欺诈(羊毛盾)API 实现用户行为分析的思路分析

简介 反欺诈(羊毛盾)API 是一种用于识别和防范各种欺诈行为的技术解决方案。它可集成到各种应用程序和平台中,通过手机号码、手机IP进行异常检测,达到防范恶意注册、虚假评论、虚假交易等欺诈行为的目的。 本文主要介绍反欺诈&a…

1677_MIT 6.828 xv6中增加CPU alarm

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 前面把课程要求做了一个简单的翻译,从课程的要求说明中其实已经能够得到很多的提示。这个alarm的功能,其实有点类似回调函数的概念&#xf…

基于springboot+mysql+jsp实现校园新闻发布系统

基于springbootmysqljsp实现校园新闻发布系统 一、系统介绍1、系统主要功能:2.涉及技术框架:3.本项目所用环境: 二、功能展示三、其它系统四、获取源码 一、系统介绍 1、系统主要功能: 普通用户:浏览主页面&#xff…

【音视频处理】直播工作原理,直播CDN、推流拉流、流媒体服务究竟是什么

大家好,欢迎来到停止重构的频道。 本期我们讨论直播技术。 我们将会介绍,直播工作原理,流媒体服务的作用,推流/拉流、直播CDN等等。 这里需要特别说明的是,直播指的是:1对多的直播,平常直播平…

基于copula的风光联合场景生成与缩减

目录 1 主要内容 风光出力场景生成方法 2 部分程序 3 程序结果 4 程序链接 点击直达! 1 主要内容 该程序方法复现《融合风光出力场景生成的多能互补微网系统优化配置》风光出力场景生成部分,目前大多数研究的是不计风光出力之间的相关性影响&…

grpc 使用demo示例

一、 编写proto文件 1、idea新建java项目&#xff0c;在maven中引入以下依赖&#xff1a; <dependencies><!--grpc底层通信组件--><dependency><groupId>io.grpc</groupId><artifactId>grpc-netty-shaded</artifactId><version&g…

Java笔记_10(项目阶段----拼图游戏)

项目阶段 页面搭建创建窗口 界面设置和菜单搭建创建菜单 添加图片图片对象 打乱图片用一维数组添加值到二维数组中 事件美化页面移动图片查看完整图片&#xff0c;作弊器&#xff0c;判断胜利计步器和菜单业务的实现弹窗创建 更换图片和登陆页面的建立表单 所有源码的实现游戏规…

es7.x集群部署-多台物理机部署-docker环境部署-docker-compose管理

es集群部署文档 部署es服务的三台服务器的ip和host分分别是&#xff1a; iphost_name192.168.1.2web02192.168.1.3storage02192.168.1.4Storage03 这个配置需要在服务器上编写对应的hosts文件&#xff0c;然后才可以使用host进行配置。 本次部署没有外挂配置文件&#xff0…