Java基础学习:java中的基础注解

在Java中,有一些内置的(或称为“基础”)注解(annotation),这些注解在Java标准库中定义,并且具有特定的用途。以下是一些主要的Java内置注解:

  • @Override
    • 用于表示一个方法是重写了父类的方法。
    • 如果在子类中声明的方法并没有重写父类中的任何方法,编译器会报错。
    • 这是一个标记注解,没有关联任何元素。
  • @Deprecated
    • 用于表示某个类或方法已经过时,建议开发者避免使用它。
    • 编译器在编译时会给出警告,告知该元素已过时。
    • 这是一个标记注解,也可以与since元素一起使用,以指定替代项或替代方法的版本。
  • @SuppressWarnings
    • 用于告诉编译器忽略指定的警告。
    • 它可以用于类、方法或字段。
    • 通常与特定的警告键(如"unchecked"、"deprecation"等)一起使用。
  • @SafeVarargs
    • 用于泛型方法或构造函数,以告诉编译器不要对使用泛型参数变量的方法或构造函数发出"unchecked"警告。
    • 这是一个标记注解,通常与泛型方法一起使用。
  • @FunctionalInterface
    • 用于声明接口是函数式接口,即接口中只能有一个抽象方法(除了默认方法和静态方法之外)。
    • 如果接口不符合函数式接口的要求(即存在多个抽象方法),编译器会报错。
    • 这是一个标记注解,没有关联任何元素。
  • @Retention
    • 用于指定注解的保留策略。
    • 这是一个元注解(用于注解其他注解的注解),有三个可能的值:SOURCE(只在源码中存在,编译时被丢弃)、CLASS(在字节码文件中存在,但JVM运行时丢弃)、RUNTIME(在JVM运行时保留,可以通过反射读取)。
  • @Target
    • 用于指定注解可以用于哪些Java元素。
    • 这也是一个元注解,可能的值包括ElementType枚举中的常量,如TYPE(类、接口、注解类型或枚举声明)、METHOD(方法声明)、FIELD(字段声明)等。
  • @Documented
    • 用于表示该注解应该被javadoc和类似的工具记录。
    • 默认情况下,javadoc不包含注解。但是,如果注解被标记为@Documented,那么javadoc就会包含它。
      这是一个标记注解。
  • @Inherited
    • 表示一个注解类型被自动继承。
    • 如果一个使用了@Inherited注解的类型被用于一个类,则这个注解也被用于该类的所有子类。
    • 这是一个标记注解。
  • @Native
    • 这是Java NIO包中的一个注解,用于标记本地方法。在Java 9及以后的版本中,它已经被标记为过时(deprecated),并被 @Native(在java.lang.annotation包中)取代,但用途和效果有所不同。在Java NIO中,@Native通常与ByteBuffer等类一起使用,表示该方法是一个本地方法,直接调用操作系统的API。

注意:Java中的内置注解主要用于元数据编程、文档生成、编译时检查等目的。开发者还可以创建自定义注解,以满足特定的需求。

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

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

相关文章

Keras深度学习框架第二十七讲:KerasTuner超参数优化基础

1、超参数优化概念 1.1 什么是超参数优化 超参数调优,也称为超参数优化或参数调优,是寻找学习算法或模型最佳超参数组合的过程。超参数是在训练过程开始之前设置的参数,模型无法直接从数据中学习这些参数。它们控制着学习算法的行为&#x…

NDIS小端口驱动开发(二)

初始化微型端口适配器 当网络设备可用时,系统会加载所需的 NDIS 微型端口驱动程序。 随后,即插即用 (PnP) 管理器向 NDIS 发送即插即用 IRP 来启动设备。 NDIS 调用微型端口驱动程序的 MiniportInitializeEx 函数来初始化用于网络 I/O 操作的适配器。 初…

嵩山为什么称为三水之源

三水指黄河、淮河、济河,这三条河流环绕在嵩山周边。 黄河横亘在嵩山北部,其支流伊洛河从西南方环绕嵩山,然后汇入黄河。济河,古称济水,源自济源王屋山,自身河道在东晋时代被黄河夺占,从此消失。…

毕设 大数据校园卡数据分析

文章目录 0 前言1 课题介绍2 数据预处理2.1 数据清洗2.2 数据规约 3 模型建立和分析3.1 不同专业、性别的学生与消费能力的关系3.2 消费时间的特征分析 4 Web系统效果展示5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设…

职场不是挣钱

职场怎么不是挣钱? 曾经我也一直这么想,只要做好老板安排的事情,自然就可以挣到钱了。 目的应该是没错的,是挣钱。 只是做好活就能挣钱,好像想得有些简单了。 毕竟每个人都在干活,为什么就该自己挣钱呢&a…

【vue2配置】Vue Router

Vue Router官网 1、npm install vue-router4 2、创建模块,在src目录小创/views/map/MapIndex.vue模块和创router/index.js文件 3、在router/index.js配置路由 import Vue from "vue"; import Router from "vue-router"; // 引入模块 const Ma…

C语言——在头⽂件中#if、_STDC_等字⾏起什么作⽤?

一、问题 通常,⼀些程序员都不会去研究头⽂件中的内容是什么含义,总觉得乱乱的,有很多 #if、_STDC_、#line 等字符,那么这些字符都各代表什么呢,在头⽂件中又起到什么作⽤呢? 二、解答 在头⽂件中存在类似…

智慧校园建设的进阶之路

智慧校园的建设现已到达了老练的阶段,许多学校设备充满着数字化信息,进出宿舍楼,校园一卡通体系会记载下学生信息,外来人员闯入会报警,翻开电脑就能查到学生是否在宿舍等……学生的学习和日子都充满了数字化的痕迹。但…

C# WPF入门学习(三)

目录 核心架构 核心组件和概念 1. XAML(eXtensible Application Markup Language) 2. 依赖属性(Dependency Properties) 3. 路由事件(Routed Events) 4. 数据绑定 5. 命令(Commands&…

itertools内置模块的过滤妙用

itertools内置模块的妙用 过滤源迭代器中的元素 Python内置itertools模块里有一些函数可以过滤源迭代器中的元素。 islice islice可以在不拷贝数据的前提下,按照下标切割源迭代器。可以只给出切割的终点,也可以同时给出起点和终点,还可以…

MongoDB 覆盖索引查询:提升性能的完整指南

MongoDB 覆盖索引查询是一种优化数据库查询性能的技术,它通过创建适当的索引,使查询可以直接从索引中获取所需的数据,而无需访问实际的文档数据。这种方式可以减少磁盘 I/O 和内存消耗,提高查询性能。 基本语法 在 MongoDB 中&a…

SQL练习题:2.4

建表 # 学生表 create table t_student (stu_id varchar(10),stu_name varchar(10),stu_age datetime,stu_sex varchar(10) );# 课程表 create table t_t_course (c_id varchar(10),c_name varchar(10),c_teaid varchar(10) );# 教师表 create table t_t_teacher (tea…

光速入门python的OpenCV

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理python的OpenCV模块的关键知识点 争取用最短的时间入门OpenCV 并且做到笔记功能直接复制使用 OpenCV简介 不浪费时间的介绍: 就是类似于ps操作图片。 至于为什么不直接用ps,因为只有程序能…

【找出满足差值条件的下标 I】python

目录 暴力题解 优化:滑动窗口维护大小值 暴力题解 class Solution:def findIndices(self, nums: List[int], indexDifference: int, valueDifference: int) -> List[int]:nlen(nums)for i in range(n):for j in range(n-1,-1,-1):if abs(i-j)>indexDiffere…

海康威视NVR通过ehome协议接入视频监控平台,视频浏览显示3011超时错误的问题解决,即:The request timeout! 【3011】

目录 一、问题描述 二、问题分析 2.1 初步分析 2.2 查看日志 2.3 问题验证 1、查看防火墙 2、查看安全组 3、问题原因 三、问题解决 3.1 防火墙开放相关端口 3.2 安全组增加规则 3.3 测试 1、TCP端口能够联通的情况 2、TCP端口不能够联通的情况 四、验证 五、云…

「51媒体」如何与媒体建立良好关系?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 与媒体建立良好关系对于企业或个人来说都是一项重要的公关活动。 了解媒体:研究媒体和记者的兴趣,提供相关且有价值的信息。 建立联系:通过专业的方式…

牛客NC324 下一个更大的数(三)【中等 双指针 Java/Go/PHP/C++】参考lintcode 52 · 下一个排列

题目 题目链接: https://www.nowcoder.com/practice/475da0d4e37a481bacf9a09b5a059199 思路 第一步:获取数字上每一个数,组成数组arr 第二步:利用“下一个排列” 问题解题方法来继续作答,步骤:利用lintc…

C++进阶之路:何为拷贝构造函数,深入理解浅拷贝与深拷贝(类与对象_中篇)

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

PostgreSQL基础(三):PostgreSQL的基础操作

文章目录 PostgreSQL的基础操作 一、用户操作 二、权限操作 三、操作任务

DRM驱动(五)之drm_atomic_state

上节讲到《DRM驱动(四)之ADD_FB》调用drmModeAddFB创建drm_framebuffer。然后通过 drmIoctl(fd, DRM_IOCTL_MODE_MAP_DUMB, &map); vaddr mmap(0, create.size, PROT_READ | PROT_WRITE,MAP_SHARED, fd, map.offset); 将物理地址map到用户空间后…