如何在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) |
这个方法接受一个注解的字节码参数 ,然后返回这个类所标识的注解对象 ,因为我们标识了一个注解就相当于产生了一个注解对象 。
boolean | isAnnotationPresent(Class extends 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服务器灰色
网络安全导学
世界互联网大会蚂蚁科技
网络安全作业教育平台
万方数据库是几个字
服务器配置与管理有什么用
北京网络软件开发答疑解惑
服务器开关闪烁了几下就关了
北京校园服务器虚拟化报价
永城电子计算机网络技术课程
临沂蔚适网络技术有限公司