面向对象【Annotation注解】

请添加图片描述

文章目录

  • 注解概述
    • 注解与注释
    • 常见的 Annotation
  • 最基本的注解使用
    • @Override
    • @Override
    • @SuppressWarnings
  • 元注解
    • @Retention
    • @Target
    • @Documented
    • @Inherited
  • 自定义注解
    • 格式
    • 定义
    • 使用

注解概述

注解(Annotation)是从 JDK5.0 开始引入,以“@注解名”在代码中存在。例如:
@Override
@Deprecated
@SuppressWarnings(value=”unchecked”)
Annotation 可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。还可以添加一些参数值,这些信息被保存在Annotation 的 “name=value” 对中。
注解可以在类编译、运行时进行加载,体现不同的功能。

注解与注释

注解和注释是两种完全不同的概念。

  • 注释是对代码的说明和描述,它们不会影响程序的执行逻辑。
  • 注解则是一种元数据,它可以影响程序的编译、解析和运行行为。
  • 注解是可以被程序读取和解析的。
  • 注释仅仅是用于程序员阅读代码的辅助说明。

常见的 Annotation

  • @Override:用于标记子类方法覆盖父类方法。
  • @Deprecated:用于标记过时的方法或类。
  • @SuppressWarnings:用于抑制编译器警告。
  • @FunctionalInterface:用于标记函数式接口。
  • @SuppressWarnings:用于抑制特定类型的警告。
  • @author 标明开发该类模块的作者,多个作者之间使用,分割。
  • @version 标明该类模块的版本。
  • @return 对方法返回值的说明,如果方法的返回值类型是 void 就不能写。
  • @exception 对方法可能抛出的异常进行说明 ,如果方法没有用 throws 显式抛出的异常就不能写。

最基本的注解使用

@Override

@Override它用于指示一个方法是覆盖了父类中的方法。

class Parent {public void print() {System.out.println("Parent's print method");}
}class Child extends Parent {@Overridepublic void print() {System.out.println("Child's print method");}
}public class Main {public static void main(String[] args) {Child child = new Child();child.print(); // 输出 "Child's print method"}
}

@Override

@Deprecated 它用于标记方法、类或字段已经过时不推荐使用。当您在新代码中使用已经过时的方法、类或字段时,编译器会发出

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

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

相关文章

Git入门(Git快速下载,安装,配置,远程仓库,本地仓库,IDEA提交代码,VScode提交代码使用方案一体)

Git快速下载 通过阿里镜像可以自由挑选版本并快速下载CNPM Binaries Mirrorhttp://npm.taobao.org/mirrors/git-for-windows/ 这里安装最新版本 下载安装文件 安装完后双击文件即可开始安装git 安装 git的安装傻瓜式Next即可 配置 打开git:桌面空白处右击&#…

JVM(四)——编译期的处理

编译期处理(语法糖) 所谓的语法糖 ,其实就是指 java 编译器把 *.java 源码编译为 *.class 字节码的过程中,自动生成 和转换的一些代码,主要是为了减轻程序员的负担。大多数是在 jdk5 及 jdk7 做的处理。 1)默认构造器 创建一个…

SolidWorks教育版本的优势是什么

随着工程设计和制造技术的不断进步,计算机辅助设计(CAD)软件在教育领域的应用越来越广泛。SolidWorks教育版本作为一款专为教育机构和学生设计的三维CAD软件,具有许多明显的优势。本文将探讨SOLIDWORKS教育版本的主要优势&#xf…

谁再问你数据库三范式,这篇文章甩给他!!!

前几天有粉丝私信说面试被问到了数据库三范式(面试问这种的不去也好),今天我们就来聊聊。在数据库设计的过程中,为了确保数据的准确性和完整性,我们通常遵循一定的规则和标准,其中最为人所熟知的便是“数据…

linux文本三剑客 --- grep、sed、awk

1、grep grep&#xff1a;使用正则表达式搜索文本&#xff0c;将匹配的行打印出来&#xff08;匹配到的标红&#xff09; 命令格式&#xff1a;grep [option] pattern file <1> 命令参数 -A<显示行数>&#xff1a;除了显示符合范本样式的那一列之外&#xff0c;并…

类,并快乐着---python中的类

类&#xff0c;并快乐着---python中的类 争取让你获取类的快乐&#xff01;\ 在Python中&#xff0c;类是一种用来创建对象的蓝图或模板。类定义了对象的属性和方法&#xff0c;可以通过类来创建多个对象实例。 所谓类&#xff0c;并快乐着。让你欲罢不能。 下面是Python中类…

MongoDB 的索引有哪些 nestjs mongoose示例

MongoDB 的索引有哪些 nestjs mongoose示例 复合索引&#xff08;Compound Index&#xff09;&#xff1a; 索引多个字段&#xff0c;允许对这些字段的组合进行高效查询。例如&#xff0c;您可以创建一个索引 { name: 1, age: 1 }&#xff0c;以便可以快速查询按姓名和年龄排序…

解不开的心结就让他系成蝴蝶结吧!

解不开的心结&#xff0c;就让它变成蝴蝶结吧 生活中&#xff0c;我们都会遇到一些难以解开的心结。它们像一块块绊脚石&#xff0c;让我们在前进的路上跌跌撞撞。面对这些心结&#xff0c;我们往往陷入了深深的思考和无尽的纠结。但是&#xff0c;有没有一种更优雅、更积极的…

【C语言】鸡兔同笼,鸡和兔共 100 只,共 284 只脚,求鸡和兔的个数。

鸡兔同笼&#xff0c;鸡和兔共 100 只&#xff0c;共 284 只脚&#xff0c;求鸡和兔的个数。 int main() {for (int i 0; ; i){if (2 * i 4 * (100 - i) 284){printf("鸡的数量&#xff1a;%d,兔子的数量&#xff1a;%d", i, 100 - i);break;} } }这里直接算出题…

开源博客项目Blog .NET Core源码学习(11:App.Core项目结构分析)

开源博客项目Blog的App.Core项目主要定义数据库表对应的数据类&#xff0c;同时定义配置文件读取、日志记录、辅助缓存等辅助类。App.Core项目安装的Nuget包不多&#xff0c;仅包括SqlSugarCore和Microsoft.Extensions.DependencyInjectio两类。   App.Core项目的顶层文件夹如…

Git本地项目开发流程记录

背景 基于Git Bash本地创建项目&#xff0c;了解Git项目开发的基本流程&#xff0c;便于管理和记录算法开发流程&#xff0c;规范代码结构。相关概念 Git分区&#xff1a;工作区&#xff0c;缓存区&#xff0c;版本区。工作区即代码开发的本地文件&#xff0c;缓存区为使用Git …

TouchGFX之Drawable

TouchGFX框架中的所有控件均为Drawable类的子类。 该类别包含控制大小和位置的一般方法。 #ifndef TOUCHGFX_DRAWABLE_HPP #define TOUCHGFX_DRAWABLE_HPP #include <touchgfx/Bitmap.hpp> #include <touchgfx/events/ClickEvent.hpp> #include <touchgfx/event…

AI智能客服:引领企业客户服务新篇章

AI智能客服&#xff1a;高效处理客户咨询的新选择 AI智能客服能够自动识别客户的语音或文字信息&#xff0c;通过自然语言处理技术理解其意图和需求&#xff0c;并快速给出准确的回答或建议。无论是常见的产品查询、订单状态确认&#xff0c;还是复杂的投诉建议&#xff0c;AI…

WEB测试之兼容性测试

1. 软件兼容性测试 兼容性测试是指待测试项目在特定的硬件平台上&#xff0c;不同的应用软件之间&#xff0c;不同的操作系统平台上&#xff0c;在不同的网络等环境中能正常的运行的测试。 兼容性测试的目的&#xff1a;待测试项目在不同的操作系统平台上正常运行&#xff0c…

[蓝桥杯 2023 省 A] 颜色平衡树:从零开始理解树上莫队 一颗颜色平衡树引发的惨案

十四是一名生物工程的学生&#xff0c;他已经7年没碰过信息学竞赛了&#xff0c;有一天他走在蓝桥上看见了一颗漂亮的颜色平衡树&#xff1a; ​​​​​​​[蓝桥杯 2023 省 A] 颜色平衡树 - 洛谷 十四想用暴力解决问题&#xff0c;他想枚举每个节点&#xff0c;每个节点代表…

Word通配符替换章节序号

这里写自定义目录标题 通配符替换章节序号切换域通配符替换内容插入编号切换域代码 通配符替换章节序号 碎片化学习word通配符知识 切换域 切换域&#xff1a;Alt F9 域都变成静态文字&#xff1a;Ctrl/Command Shift F9 通配符 内容通配符单个数字[0-9]多个数字&#…

office办公技能|word中的常见使用问题解决方案2.0

一、设置多级列表将表注从0开始&#xff0c;设置为从1开始 问题描述&#xff1a;word中插入题注&#xff0c;出来的是表0-1&#xff0c;不是1-1&#xff0c;怎么办&#xff1f; 写论文时&#xff0c;虽然我设置了“第一章”为一级标题&#xff0c;但是这三个字并不是自动插入的…

工作中的障念 - AI运算超时

hi,为什么我在工作的时候会遭遇一种无法描述的障念&#xff0c;问题并不复杂&#xff0c;但是似乎有一堵无形的墙当着自己不能前进。这是一种普遍现象吗&#xff1f; ## 来自WeTab AI的消息: 嗨&#xff0c;听起来你在工作时遇到的障碍可能是一种称为“工作障碍”的现象。这种…

k8s 的资源清单

K8S 的资源清单 参数名类型字段说明apiVersionStringK8S APl 的版本&#xff0c;可以用 kubectl api versions 命令查询kindStringyam 文件定义的资源类型和角色metadataObject元数据对象&#xff0c;下面是它的属性metadata.nameString元数据对象的名字&#xff0c;比如 pod …

构建一个springboot项目

构建一个springboot项目&#xff0c;需要下载哪些软件与工具&#xff1f; 要构建一个Spring Boot项目&#xff0c;通常需要以下软件和工具&#xff1a; Java Development Kit&#xff08;JDK&#xff09;&#xff1a; Spring Boot是基于Java开发的&#xff0c;因此需要安装JD…