千家信息网

如何在Java中设计使用自己的注解

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,今天就跟大家聊聊有关如何在Java中设计使用自己的注解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们用过JDK给我们提供的 @Overri
千家信息网最后更新 2025年01月19日如何在Java中设计使用自己的注解

今天就跟大家聊聊有关如何在Java中设计使用自己的注解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我们用过JDK给我们提供的 @Override @Deprecated @SuppressWarning 注解 ,这些注解是JDK给我们提供的,我们只是在用别人写好的东西,那么我们是否可以自己写注解呢?当然是可以的。

我们写的注解包括三个环节:

1、 注解的声明,也就是注解类的定义。

形式如下 @interface 来进行注解的声明。

package me.test;      import java.lang.annotation.* ;//导入注解包中所有注解   @Retention(RetentionPolicy.RUNTIME)   //解释如下   @Target(ElementType.TYPE)//解释如下   public @interface MyAnnotation               {    }   @Retention(RetentionPolicy.RUNTIME)

指定了注解保留的周期,注解的生命周期有是三个,RetentionPolicy 枚举的三个值代表了三个声明周期,默认是CLASS。

枚举常量摘要
CLASS
编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。

RUNTIME
编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。

SOURCE
编译器要丢弃的注释。

@Target(ElementType.TYPE)

这个标识注解应该标在那里ElementType的几个枚举值就代表了,注解应该写在的位置。

CONSTRUCTOR
构造方法声明
FIELD
字段声明(包括枚举常量)
LOCAL_VARIABLE
局部变量声明
METHOD
方法声明
PACKAGE
包声明
PARAMETER
参数声明
TYPE
类、接口(包括注释类型)或枚举声明

2、 使用了注解的类或者方法。

@MyAnnotation class  A  {  }

3、 利用反射来操作注解,详细见代码。

Class类有一个方法:

A getAnnotation(Class annotationClass)

这个方法接受一个注解的字节码参数 ,然后返回这个类所标识的注解对象 ,因为我们标识了一个注解就相当于产生了一个注解对象 。

booleanisAnnotationPresent(Class Annotation> annotationClass)

这个方法判断一个类是否被注解所标识。

下面是代码示例:

MyAnnotationTest.java中

package me.test;  import java.lang.annotation.Annotation;  @MyAnnotation public class MyAnnotationTest  {        public static void main(String []args)      {       if(MyAnnotationTest.class.isAnnotationPresent( MyAnnotation.class))       {         MyAnnotation an=(MyAnnotation)MyAnnotationTest.class.getAnnotation(MyAnnotation.class) ;         System.out.println(an.toString());       }      }  }

MyAnnotation.java中

package me.test;  import java.lang.annotation.ElementType;  import java.lang.annotation.Retention;  import java.lang.annotation.RetentionPolicy;  import java.lang.annotation.Target;  @Retention(RetentionPolicy.RUNTIME)  @Target(ElementType.TYPE)  public @interface MyAnnotation  {    }

看完上述内容,你们对如何在Java中设计使用自己的注解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

注解 方法 注释 三个 标识 内容 周期 编译器 编译 中设 代码 代表 参数 对象 常量 文件 反射 解释 运行 东西 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 威海量化积分管理软件开发系统 北京餐饮软件开发省钱 电脑网络安全手抄报简笔画 达梦数据库等保测评方法 易班网络安全答案 网络安全法犯法吗 jdbc数据库连接步骤 嘉定区参考数据库服务前景 数据库的安全涉及哪几个层面 文件服务器和客户机服务器的区别 大学图书馆数据库有什么用 数据库系统的二级映像含义 华为服务器存储管理软件 2012r2服务器管理配置 重庆长寿生鲜软件开发 远程数据库sql链接 徐汇区运营网络技术多少钱 车联网软件开发培训 中国什么时候有网络安全 dnf服务器灰色 网络安全导学 世界互联网大会蚂蚁科技 网络安全作业教育平台 万方数据库是几个字 服务器配置与管理有什么用 北京网络软件开发答疑解惑 服务器开关闪烁了几下就关了 北京校园服务器虚拟化报价 永城电子计算机网络技术课程 临沂蔚适网络技术有限公司
0