版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java Annotation详细信息,讲师:风中叶,着作权是浪赛的在线视频所有,第2页,概述Java Annotation属性和使用方法了解Annotation的使用方法JDK5,Annotation的高级属性第3页,为什么使用Annotation,JAVA应用程序经常需要使用模板代码。 例如,要创建web服务,必须以模板代码的形式提供一对接口和实现。 使用annotation修饰远程访问的方法代码后,可以使用工具自动生成此模板。 另外,某些API必须使用与程序代码同时维护的附件。 例如,EJB需要部署描述符。 此时,在程序中使用annotation来保持这些附件的信息非常有用,也可以减少错
2、误。 第4页,Annotation的工作原理和java版本5.0发布以来,5.0平台提供了正式的Annotation功能。 开发者现在可以定义和使用自己的Annotation类型。 此功能由定义annotation类型的语法、描述annotation声明的语法、读取annotation的API、用annotation限定的class文件和annotation处理工具(apt )组成。 第5页,Annotation的工作方式,Annotation没有直接影响代码语义,但是其工作方式被视为像程序一样的工具和类库,反而影响运行中的程序语义。 可以通过源文件、class文件或在运行时反射的各种方式导入
3、annotation。 当然,annotation在一定程度上使javadoc标签完整。 一般来说,如果此标签影响了java文档,或用于生成java文档,则该标签必须用作javadoc标签,否则该标签为annotation。 第6页,使用内置于JDK5中的Annotation的程序实例overridedeprecatedsuppresswarnings,第7页,限制override父类方法Override, java.lang.Override的标记为Marker Annotation的annotation Annotation名称本身表示传递给工具程序的信息,第8页的标记方法为Depreca
4、ted Deprectatedjava.lang.Deprecated也向编译器通知了名称Marker annotation Deprecated,Deprecated标记的方法是不推荐的方法,第9页抑制了编译器的警告 su 编译器中的方法有警告消息就要抑制的10页,自定义annotationtype、markermannotation,即annotationname本身提供的信息主要是检查markermannotation的出现第11页,请参见单值注释value成员设置默认值,以“default”关键字数组方式将枚举应用于注释,第12页,自定义注释类型, 使用interface自己定义Ann
5、otation类型时,继承编译器自动生成Java.lang.Annotation.Annotation接口的详细信息在定义annotation类型时,会自动生成其他annotation类型第13页,定义自定义annotation类型annotation类型时,还可以使用包以与类相同的方式管理类的导入功能。 在第14页中,指定Retention、java.lang.Annotation.Retention类型作为编译器,以指定在定义annotation类型时编译器如何处理自定义annotation类型将注释信息保留在. class文件中,并仅在编译器或工具程序运行时提供信息,而不被虚拟机读取。
6、第15页指定编译器如何处理Retention, 使用Retention类型时,必须指定Java.lang.annotation.retention policy的枚举类型package Java.lang.annotation publicenumretentionpolicy /编译器处理Annotation信息后,可以完成任务CLASS,/编译器可以从CLASS文件中读取Annotation,默认RUNTIME /编译器可以从CLASS文件中读取Annotation RetentionPolicy为SOURCE的示例告诉编译器仅在SuppressWarnings编译时抑制警告,因此, cl
7、ass文件RetentionPolicy不需要在运行时保存此信息,与使用Java设计程序代码分析工具一样,VM在读取Annotation信息和分析程序时使用反射机制第17页指示编译器如何处理 retention Java.lang.reflect.annotated element接口publicannotationelementannotationtype (c 公共分析 getddeclaredannotations (); publicbooleanisannotationpresent (classannotationtype )类、构造器、Field、方法和包等类具有Annotate
8、dElement接口通知编译器如何处理Retention,在定义Annotation时必须将RetentionPolicy设置为RUNTIME,即,可以在VM中读取Annotation信息的程序,第19页, 使用Target、java.lang.Annotation.Target限制使用annotation的对象,在定义使用的时间时指定Java.lang.annotation.element type的枚举值之一公共元素类型类型、类、接口、数字字段、字段方法、方法参数、方法上的参数构造器构造器)。 compublic enum element type,class,interface,interface,enum FIELD,field METHOD,field parameter,method上的参数构造器/局部变量ANNOTATION_TYPE, annotation型package/package的应用示例,第21页,API文件Documented,用户创建JavaDoc文件,同时将annotation消息添加到API文档中,然后将Java.l 第22页,子类是否继承父类In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年提升中欧中亚班列发展水平建立运行风险监测预警体系
- 2026年低空目标探测概率与虚警率测试评估报告
- 狗咬伤后伤口护理的清洁用品
- 2026年食疗按摩结合调理脾胃虚弱养生讲座课件
- 2026年社区紧急避险培训
- 白内障术后眼部滴药护理查房
- 新生儿黄疸的护理与管理
- 某纺织厂产品质量检测制度
- 2026年高考化学二轮复习(全国)重难20 限定条件的有机物同分异构体的数目判断与书写(重难专练)(解析版)
- 2026年秋季养生秘诀课件
- 2026年陕西航空职业技术学院单招职业技能考试题库附答案详解(完整版)
- 中级消防设施操作员(监控方向)理论考试题库资料(含答案)
- 2026年中考语文常考考点专题之古诗词赏析(选择题)
- 2025肿瘤科护理指南
- 2025年广州市公安局越秀区分局辅警招聘考试笔试试题(附答案)
- 2025-2026学年岭南版小学美术六年级第二学期教学计划及教学进度表
- 雨课堂学堂在线学堂云安全科学原理(中南大学)单元测试考核答案
- 三年级数学下册计算题大全(每日一练共18份)
- 《创新创业基础》课件-模块四 创新成果保护与转化
- 燃料检修潜在风险与预控措施
- 中学生防震减灾知识
评论
0/150
提交评论