东莞专业网站建设公司做微博推广的网站吗

bicheng/2026/1/25 7:29:26/文章来源:
东莞专业网站建设公司,做微博推广的网站吗,网站制作网站开发公司,程序员和网站建设Java 中的注解#xff08;Annotation#xff09; 一、元注解1.Java 中的元注解 二、Java 中内置的三大注解三、自定义注解1.语法格式 四、反射注解五、注解的作用六、总结 所有的注解类型都继承自 java.lang.annotation.Annotation 接口。注解(Annotation)是一种引用数据类型… Java 中的注解Annotation 一、元注解1.Java 中的元注解 二、Java 中内置的三大注解三、自定义注解1.语法格式 四、反射注解五、注解的作用六、总结 所有的注解类型都继承自 java.lang.annotation.Annotation 接口。注解(Annotation)是一种引用数据类型。编译之后也是生成 xxx.class 文件。一个注解准确意义上来说只不过是一种特殊的注释而已如果没有解析它的代码它可能连注释都不如。解析一个类或者方法的注解往往有两种形式 一种是编译期直接的扫描。 Retention(RetentionPolicy.SOURCE) 编译器的扫描指的是编译器在对 java 代码编译字节码的过程中会检测到某个类或者方法被一些注解修饰这时它就会对于这些注解进行某些处理。典型的就是 Override 注解。这一种情况只适用于那些编译器已经熟知的注解类比如 JDK 内置的几个注解而你自定义的注解编译器是不知道你这个注解的作用的当然也不知道该如何处理往往只是会根据该注解的作用范围来选择是否编译进字节码文件仅此而已。 一种是运行期反射。 Retention(RetentionPolicy.RUNTIME) 一、元注解 元注解是用于修饰注解的注解通常用在注解的定义上。元注解一般用于指定某个注解生命周期以及作用目标等信息。 1.Java 中的元注解 Target注解的作用目标Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.ANNOTATION_TYPE) public interface Target {/*** Returns an array of the kinds of elements an annotation interface* can be applied to.* return an array of the kinds of elements an annotation interface* can be applied to*/ElementType[] value(); }ElementType.TYPE允许被修饰的注解作用在类、接口和枚举上ElementType.FIELD允许作用在属性字段上ElementType.METHOD允许作用在方法上ElementType.PARAMETER允许作用在方法参数上ElementType.CONSTRUCTOR允许作用在构造器上ElementType.LOCAL_VARIABLE允许作用在本地局部变量上ElementType.ANNOTATION_TYPE允许作用在注解上ElementType.PACKAGE允许作用在包上 Retention注解的生命周期Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.ANNOTATION_TYPE) public interface Retention {/*** Returns the retention policy.* return the retention policy*/RetentionPolicy value(); }RetentionPolicy.SOURCE当前注解编译期可见不会写入 class 文件RetentionPolicy.CLASS类加载阶段丢弃会写入 class 文件RetentionPolicy.RUNTIME永久保存可以反射获取 Documented注解是否应当被包含在 JavaDoc 文档中Inherited是否允许子类继承该注解 二、Java 中内置的三大注解 OverrideTarget(ElementType.METHOD) Retention(RetentionPolicy.SOURCE) public interface Override { }它没有任何的属性所以并不能存储任何其他信息。它只能作用于方法之上编译结束后将被丢弃。仅被编译器可知编译器在对 java 文件进行编译成字节码的过程中一旦检测到某个方法上被修饰了该注解就会去匹对父类中是否具有一个同样方法签名的函数如果不是自然不能通过编译。 DeprecatedDocumented Retention(RetentionPolicy.RUNTIME) Target(value{CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE}) public interface Deprecated {String since() default ;boolean forRemoval() default false; }可以修饰所有的类型作用是标记当前的类或者方法或者字段等已经不再被推荐使用了可能下一次的 JDK 版本就会删除。 SuppressWarnings 三、自定义注解 1.语法格式 [修饰符列表] interface 注解类型名{类型 属性() [defauult 值]; } // 样例 Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) public interface MyAnnotation {String name() default gdb;String[] phoneNumbers() default {}; }注解当中的属性类型可以是byte short int long float double boolean char String Class 枚举类型以及以上每一种的数组形式。 四、反射注解 要求必须使用 Retention(RetentionPolicy.RUNTIME)这样该注解才能够被反射到。例子反射类上的 MyAnnotation 注解。 1.编写自己的注解 package annotation1;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) public interface MyAnnotation {String name() default gdb;String[] phoneNumbers() default {}; } 2.在类上使用自己的注解 package annotation1;MyAnnotation(name zhangsan, phoneNumbers {123456, 654321}) public class MyAnnotationTest {}3.通过反射机制来获取指定类上的注解信息 package annotation1;import java.util.Arrays;public class ReflectAnnotation {public static void main(String[] args) throws Exception {//获取类Class? c Class.forName(annotation1.MyAnnotationTest);//判断类上面是否有 MyAnnotationif (c.isAnnotationPresent(MyAnnotation.class)){//获取注解对象MyAnnotation myAnnotation (MyAnnotation)c.getAnnotation(MyAnnotation.class);//获取注解对象的属性和调用接口没有区别System.out.println(myAnnotation.name() , Arrays.toString(myAnnotation.phoneNumbers()));}//判断 Date 类上面是否有 MyAnnotation 这个注解。Class? s Class.forName(java.lang.String);System.out.println(s.isAnnotationPresent(MyAnnotation.class));} }五、注解的作用 注解在程序当中等同于一种标记如果这个元素上有这个注解怎么办没有这个注解怎么办。 应用场景假设有这样一个注解叫做 Id这个注解只能出现在类上面当这个类上有这个注解的时候要求这个类中必须有一个 int 类型的 id 属性。如果没有这个属性就报异常。如果有这个属性就正常执行。 1.编写 Id 注解 package annotation1;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) public interface Id {}2.编写异常类 package annotation1;public class NotHasIdException extends RuntimeException{public NotHasIdException() {}public NotHasIdException(String message) {super(message);} }3.编写使用 Id 注解的类 package annotation1;Id public class IdAnnotationTest {int id; }4.通过反射机制来判断是否正确 package annotation1;import java.lang.reflect.Field;public class ReflectAnnotation {public static void main(String[] args) throws Exception {//获取类Class? c Class.forName(annotation1.IdAnnotationTest);//判断类上面是否有 Id 注解if (c.isAnnotationPresent(Id.class)){//当一个类上面有 Id 注解的时候要求类中必须存在 int 类型的id属性。//如果没有int类型的id属性则报异常。//获取类的所有属性Field[] fields c.getDeclaredFields();boolean isOK false;for(Field field : fields){if(id.equals(field.getName()) int.equals(field.getType().getSimpleName())){isOK true;break;}}//判断是否合法if (!isOK)throw new NotHasIdException(被Id注解标注的类没有int类型的id属性);}} }六、总结 如果一个注解的属性的名字是 value并且只有一个属性的话在使用的时候该属性名可以省略。如果属性是一个数组如果数组中只有一个元素大括号可以省略。

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

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

相关文章

找做模型方案去哪个网站网站友情链接代码

vue前端开发自学,组件的生命周期函数介绍001!今天介绍一下,组件自身的生命周期函数。又叫做,钩子函数。可以借助于这些钩子函数,实现很多我们预想的效果。比如,在组件渲染 之前,就做一些特殊的操作等等。 …

做网站用的符号制作网页的心得

在服务器图标上右键点击-》复制服务器ID 在频道上右键点击-》复制频道ID F12->手机模式-》application-》local storage-》填写过滤条件【token】 我开发的chatgpt网站: https://chat.xutongbao.top

小米手机网站架构wordpress网页访问权限设置

1、问题描述:有n2^k个远动员选手,设计比赛日程表实现:(1)每个选手必须与n-1个选手比赛(2)每个选手一天只比赛一场(3)比赛共进行n-1天输入:n人输出&#xff1a…

长沙做暑假实践活动网站电子商务是干什么的就业方向

functions.php文件是您为 WordPress 主题添加功能的唯一位置。您可以在其中把自定义功能挂载到 WordPress 的核心功能上,使您的主题更加模块化、更具扩展性、功能更加丰富。什么是functions.php?functions.php文件的行为类似于 WordPress 插件&#xff0…

中山网站建设是什么什么网站可以做视频剪辑的兼职

掌握Spark高级算子在代码中的使用 相同点分析 三个函数的共同点,都是Transformation算子。惰性的算子。 不同点分析 map函数是一条数据一条数据的处理,也就是,map的输入参数中要包含一条数据以及其他你需要传的参数。 mapPartitions函数是一个…

网站建设与管理中专专业口碑好的专业网站建设

给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。 此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。 思路 本道题需要分类成两种情况,题目答案为以下两种情况的较大值。 1.最大子区间在序列的中间 这种情况是…

婚恋网站建设建设厅官方网站

在当前的商业领域中,企业大数据传输是一个重要而复杂的问题。随着企业规模和数据量的扩大,如何安全可靠、高效快速地传输大数据成为了许多企业需要面对的挑战。本文将介绍几种值得考虑的企业大数据传输解决方案,以帮助企业有效应对这一挑战。…

logo素材库网站免费比较好的网站建设品牌设计

1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jspjavaBean model1的弊端:随着业务复杂性 导致jsp页面比较混乱 model2模式…

高端网站案例网站建设网店代理免费加盟

在迈入2024年的春季招聘季节之际,阿里巴巴再次展开了对优秀技术人才的寻觅。作为一家全球领先的技术创新企业,阿里巴巴对候选人的技术能力和创新思维有着极高的要求,尤其是在软件开发领域。Spring框架,作为Java企业级应用开发的重…

网站建设与管理电子教程合肥 定制网站开发

SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft SQL Server™ 表达式。。 data_type 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。 length nchar、nva…

加强学科网站建设如何制作手机网页

引言 CLIP全称Constrastive Language-Image Pre-training,是OpenAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本→图像生成任务…

上海网站建设口碑好未成年怎么在网上卖东西

目录 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述2、队列持久化3、消息持久化4、交换器持久化 二、RabbitMQ 知识扩展 1、内存告警与内存换页2、磁盘告警与配置3、数据写入磁盘时机4、磁盘消息格式5、磁盘文件删除机制 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述…

英迈思做网站怎么样关于申请网站建设的请示

前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此,我非常感激大家一直…

给别人做网站如何收费巴南区网站建设

一、简介 Lichee Pi 4A是一款基于RISC-V指令集的强大Linux开发板,它凭借出色的性能和丰富的接口,吸引了众多开发者和爱好者的关注。这款开发板不仅适用于学习和研究RISC-V架构,还可以作为软路由、小型服务器或物联网设备的核心组件。 目录 一…

石嘴山网站seo资阳网络营销顾问招聘

目录 1、模板匹配介绍 2、cv::matchTemplate 3、模板匹配的方法(算法) 4、代码演示 1、模板匹配介绍 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。 它可以在一幅图像中寻找与给定模板最相似的部分。 模板匹配的步骤: &a…

asp图片源码网站wordpress单页面

在我们进行 API 开发和测试时,使用诸如 Postman 之类的工具可以极大地简化工作流程,提高效率。Postman 的一个强大功能就是变量(Variables)。利用变量,我们可以使我们的请求变得更加动态和灵活,避免重复输入…

网站建设与管理计划书在县城做同城网站怎么样

文章目录 一、排序组件继承GenericAPIView使用DRF内置排序组件继承APIView编写排序 二、过滤组件继承GenericAPIView使用DRF内置过滤器实现过滤使用第三方模块django-filter实现and关系的过滤自定制过滤类排序搭配过滤使用 三、分页组件分页器一:Pagination&#xf…

郴州网站谷歌seo优化公司

随着经济的发展、财富的累积,人们生活水平、生活质量大幅度提高,生活环境得到明显改善,但是竞争激烈、人们生活压力大、生活节奏快加上饮食习惯和生活方式不合理导致国内 亚健康人群逐年增多。统计数据表明当前我国亚健康人群比例已经超过了7…

南京网站设计公司兴田德润优惠吗高端自适应网站设计

从MSDN找到的资料,详见:http://msdn.microsoft.com/zh-cn/library/aa967729.aspx安装“消息队列 (MSMQ)”以下过程介绍如何安装“消息队列 4.0”和“消息队列 3.0”。 注意: 消息队列 4.0 在 Windows XP 和 Windows Server 2003 中不可用。 在 Windows S…

如何做一个内部网站东莞百度快照优化排名

Apache 安装和使用文档更新时间:2009年11月26日 00:34:37 作者:Apache安装和使用文档一、准备工作:1台PC机,安装linux操作系统 参考文档linux安装.docx2 gcc的安装 参考文档gcc的安装.zip3 apache的安装包httpd-2.0.63.tar.gz二…