千家信息网

Java中的三种标准注解和四种元注解是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"Java中的三种标准注解和四种元注解是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来
千家信息网最后更新 2026年11月02日Java中的三种标准注解和四种元注解是什么

这篇"Java中的三种标准注解和四种元注解是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Java中的三种标准注解和四种元注解是什么"文章吧。

Java的三种标准注解和四种元注解

先来说说什么是注解

注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。

注解的语法比较简单,除了@符号的使用之外,它基本与Java固有的语法一致。

Java内置了三种注解,定义在java.lang中的注解

  • @Override:表示当前的方法定义将覆盖超类中的方法。如果你不小心拼写错误,或者方法签名对不上被覆盖的方法,编译器就会发出错误提示。

  • @Deprecated:如果程序员使用了注解为它的元素,那么编译器会发出警告信息。

  • @SuppressWarnings:关闭不当的编译器警告信息。在java SE5之前的版本中,也可以使用该注解,不过会被忽略不起作用。

我们来看一下注解@Test的定义:

定义注解时,会需要一些元注解(meta-annotation),如@Target和@Retention。

  • @Target 用来定义你的注解将应用于什么地方(例如是一个方法或者一个域)。

  • @Retention 用来定义该注解在哪一个级别可用,在源代码中(SOURCE)、类文件中(CLASS)或者运行时(RUNTIME)。

Java除了内置了三种标准注解,还有四种元注解

@Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括:

  • ElemenetType.CONSTRUCTOR 构造器声明

  • ElemenetType.FIELD 域声明(包括 enum 实例)

  • ElemenetType.LOCAL_VARIABLE 局部变量声明

  • ElemenetType.METHOD 方法声明

  • ElemenetType.PACKAGE 包声明

  • ElemenetType.PARAMETER 参数声明

  • ElemenetType.TYPE 类,接口(包括注解类型)或enum声明

@Retention 表示在什么级别保存该注解信息。可选的参数值在枚举类型 RetentionPolicy 中,包括:

  • RetentionPolicy.SOURCE 注解将被编译器丢弃

  • RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃

  • RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。

@Documented 将此注解包含在 javadoc 中 ,它代表着此注解会被javadoc工具提取成文档。在doc文档中的内容会因为此注解的信息内容不同而不同。相当与@see,@param 等。

@Inherited 允许子类继承父类中的注解。

元注解和自己写一个注解

一、元注解

  • @Target 表示这个注解可以用在什么地方

  • @Retention 表示我们的注解在什么地方还有效(runtime>class>sources)

  • @Documented 表示是否将我们的注解生成在javaDoc中

  • @Inherited 子类可以继承父类的注解

package com.epoch.customproject.utils;import java.lang.annotation.*;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documentedpublic @interface DataSource {    String value() default "dataSourceMdm";}

二、自己写注解

public class test {    @Myobject2(age = 18)    public void test1(){ }    @Myobject("默认")    public void test2(){ }}@Target(value = {ElementType.TYPE,ElementType.METHOD})@Retention(value = RetentionPolicy.RUNTIME)@interface  Myobject{    //只有一个参数,所以传一个值就行  @Myobject("默认")    String value();}@Target(value = {ElementType.TYPE,ElementType.METHOD})@Retention(value = RetentionPolicy.RUNTIME)@interface  Myobject2{        //   @Myobject2(age = 18)  其他参数不用传的原因是给过默认值    //注释的参数   参数类型   参数名()    String name() default "默认名字";    int age()  ;    double height() default  -1;//如果默认值-1,代表不存在    String[] school() default {"默认学校1","默认学校2"};}

以上就是关于"Java中的三种标准注解和四种元注解是什么"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

注解 内容 参数 方法 信息 标准 地方 编译器 编译 类型 不同 代表 子类 学校 数据 文件 文章 注释 知识 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技平台互联网 互联网金融与金融科技 融贸通互联网科技 伴你行互联网科技有限公司 重庆科技学院互联网 深圳互联网科技怎么样 来此购互联网科技有限公司 恒生互联网科技指数跳水 健康食品互联网创新科技园项目 996高科技互联网公司 浙南科技城互联网大厦建设工程 科技互联网海报 广州互联网高科技取餐柜 山东大美朱楼互联网科技有限公司 珠海东科互联网科技有限公司 杭州融税互联网科技有限公司 重庆科技产业互联网有哪些 六子台科技互联网展会 科技发展第三阶段互联网时代 互联网 科技节活动 微视频大赛 互联网科技媒体 致聘互联网科技 科技互联网公司logo 唐信互联网科技 大连 老年人脱离互联网科技的作文 新华互联网科技2019 如何创新互联网科技 互联网科技实习生岗位 广州百诚互联网科技有限公司官网 互联网科技创新方面的资料
0