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

java学习笔记:java常见注解语句汇总、解析及应用

文章目录

    • 一、什么是注解
    • 二、注解有什么作用
    • 三、常见的Java注解及其功能介绍和示例
      • @Override
      • @Deprecated
      • @SuppressWarnings
      • @FunctionalInterface
      • @SafeVarargs
      • @SuppressWarnings

一、什么是注解

Java中所有以@开头的语句被称为注解(Annotation)。
注解是一种元数据,它可以用于类、方法、变量等各种程序元素上。它提供了关于程序代码的额外信息,可以用于在编译时和运行时进行处理。

二、注解有什么作用

  • 提供编译时的元数据:注解可以在编译时提供额外的信息,帮助编译器进行代码检查和优化。
  • 提供运行时的元数据:注解可以在运行时提供额外的信息,帮助程序在运行时做出相应的处理。
  • 简化配置和开发:注解可以用于简化配置文件的编写,减少重复的代码和配置项。
  • 提供框架支持:注解可以用于框架中,帮助框架进行自动化的处理和生成代码。

三、常见的Java注解及其功能介绍和示例

@Override

用于标记方法覆盖父类的方法。它可以确保子类正确地覆盖了父类的方法。

@Override
public void doSomething() {// 子类的实现
}

@Deprecated

用于标记已过时的方法或类。它提醒开发者不再推荐使用该方法或类,并建议使用替代方法或类。

@Deprecated
public void oldMethod() {// 过时的方法实现
}

@SuppressWarnings

用于抑制编译器警告。它可以告诉编译器忽略特定类型的警告。

@SuppressWarnings("unchecked")
public List<String> getList() {// 忽略类型转换警告return (List<String>) someObject;
}

@FunctionalInterface

用于标记函数式接口。它确保接口只有一个抽象方法,以便可以使用Lambda表达式进行实现。

@FunctionalInterface
public interface MyInterface {void doSomething();
}

@SafeVarargs

用于标记可变参数方法的安全性。它确保方法不会对可变参数数组进行不安全的操作。

@SafeVarargs
public final <T> void process(T... elements) {// 安全的可变参数方法实现
}

@SuppressWarnings

用于抑制编译器警告。它可以告诉编译器忽略特定类型的警告。

@SuppressWarnings("unchecked")
public List<String> getList() {// 忽略类型转换警告return (List<String>) someObject;
}
http://www.lryc.cn/news/293125.html

相关文章:

  • k8s Sidecar filebeat 收集容器中的trace日志和app日志
  • 三维模型设计新纪元:3D开发工具HOOPS在机械加工行业的应用与优势
  • Python爬虫子页面并写入text代码
  • 《PyTorch基础教程》01 搭建环境 基于Docker搭建ubuntu22+Python3.10+Pytorch2+cuda11+jupyter的开发环境
  • MySQL进阶之触发器
  • 循环神经网络RNN专题(01/6)
  • C# 怎么判断屏幕是第几屏幕?屏幕是垂直还是水平?屏幕的分辨率?
  • 在 SQL Server 中使用 SQL 语句查询不同时间范围的数据
  • 学习使用Flask模拟接口进行测试
  • 深度学习快速入门--7天做项目
  • Request Response 基础篇
  • 数据爬虫是什么
  • Java注解与策略模式的奇妙结合:Autowired探秘
  • Datax3.0+DataX-Web部署分布式可视化ETL系统
  • 【Java 数据结构】排序
  • Deepin如何开启与配置SSH实现无公网ip远程连接
  • 【Springcloud篇】学习笔记十(十七章):Sentinel实现熔断与限流——Hystrix升级
  • 【算法与数据结构】718、1143、LeetCode最长重复子数组 最长公共子序列
  • C# SSH.NET 长命令及时返回
  • Rust学习之Features
  • 云计算基础(云计算概述)
  • 【机器学习】科学库使用手册第2篇:机器学习任务和工作流程(已分享,附代码)
  • 【React】前端项目引入阿里图标
  • Javascript入门:第三个知识点:javascript里的数据类型、运算符
  • 最新版国产会声会影2024新功能爆料
  • Pandas处理Excel文件的实用指南 - Python开发技巧XI
  • 泰克示波器(TBS2000系列)触发功能使用讲解——边沿触发
  • C++学习Day01之C++对C语言增强和扩展
  • 【文件上传WAF绕过】<?绕过、.htaccess木马、.php绕过
  • flutter如何实现省市区选择器