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

Java面试篇基础部分-Java注解详解

什么是注解

  注解(Annotation)首先是Java语言提供了一种设置程序中元素关联关系的方法。是一个接口,程序可以通过反射机制获取到指定的程序元素中的注解对象,然后通过该注解对象获取到注解元素中的相关信息。

注解和注释有什么区别?

  • (1)注解:用于描述代码,说明程序,主要目的是为了给计算机看,且能够影响程序的运行。

  • (2)注释:用于描述代码的作用和一些关键性的知识点,使用文字描述程序,是为了给程序员观看,以此来使程序员能够以快的时间了解被注释的代码。

标准的元注解

  元注解(Meta-Annotation)主要负责的是对于其他注解的注解,在Java语言中定义了四个标准的元注解分别是 @Target 、@Retention、@Documented @Inherited

@Target

  这个注解说明了注解所要修饰的对象范围。注解可以被用于packages、types(类、接口、枚举、注解类型)、类型成员(方法、构造方法、成员变量、枚举值类型)、方法参数和本地变量等内容上。在注解类型中声明了target,这样可以更加明确的修饰目标,target具体的类型值如下

  • TYPE:用于描述类、接口或者是枚举类型
  • FIELD:用于描述作用域
  • METHOD:用于描述方法
  • PARAMETER:用于描述方法参数
  • CONSTRUCTOR:用于描述构造器函数
  • LOCAL_VARIABLE:用来描述局部变量
  • ANNOTATION_TYPE :用来声明一个注解
  • PACKAGE:用于描述一个包
  • TYPE_PARAMETER:对普通变量的声明
  • TYPE_USE:用来标注任何类型的名称

@Retention

  定义了该注解被保留的级别,也就是说这个主角属于什么级别的注解。主要有如下的三种类型

  • SOURCE:在源文件中有效,也就是说在源文件中时被保留的。
  • CLASS:在Class文件中有效,也就是说在Class文件中被保留
  • RUNTIME:在运行时有效,在运行时都被保留

@Documented

  表明这个注解应该被javadoc工具记录,所以可以通过javadoc类的工具文档化

@Inherited


http://www.kler.cn/news/304781.html

相关文章:

  • Visual Studio Code 高效开发 C/C++ 插件推荐
  • 开发游戏的学习规划
  • 基于扣子(Coze)打造第一个智能体——个性化对话机器人
  • 智能语音技术在人机交互中的应用与发展
  • 中国农业银行——轻量式云原生应用平台(轻云平台)
  • swiftUI结构体数组修改属性UI没更新
  • Go协程及并发锁应用指南
  • 深入理解Go语言的方法定义与使用
  • 深入理解Go语言中的接口定义与使用
  • 『功能项目』战士职业平A怪物掉血【44】
  • SVM——支持向量机的学习入门
  • 【运维监控】influxdb 2.0+grafana 监控java 虚拟机以及方法耗时情况(完整版)
  • GPS/LBS/Wi-Fi定位,全安排!—合宙Air201资产定位模组LuatOS快速入门04
  • Leetcode 每日一题:Decode String
  • LVS-DR
  • JMeter测试工具的简单了解
  • java和kotlin 可以同时运行吗
  • 高性能微服务架构:Spring Boot 集成 gRPC 实现用户与订单服务即时交互
  • SpringBoot2:web开发常用功能实现及原理解析-整合EasyExcel实现Excel导入导出功能
  • 数据结构修炼——顺序表和链表的OJ题练习
  • C++ string类
  • k8s以及prometheus
  • 树莓派交叉编译
  • 【Web】URI和URL的介绍
  • STM32CubeIDE关于printf()串口输出重定向的问题
  • 『功能项目』项目优化 - 框架加载资源【41】
  • 在 macOS 上管理 Node版本
  • 计算机存储概念
  • python numpy pytorch tensorlfow list 转tenser float 32的方法,模型计算基本用的都是float32,需要转换
  • 常见本地大模型个人知识库工具部署、微调及对比选型