版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第18章给编译器看的注释Annotation,Annotation 系统内建的Annotation 自定义Annotation Rentention和RententionPolicy 反射与Annotation 深入Annotation,18.1 Annotation,Annotation实际上表示的是一种注释的语法,在Java中最早的程序是提倡程序与配置代码相分离,而最新的理论是将所有的配置直接写入到程序之中,那么如果要想完成这样的功能,则就要使用Annotation,18.2 系统内建的Annotation,18.2.1 Override 18.2.2 Deprecated 18.2.3
2、SuppressWarnings,18.2.1 Override 在覆写的时候可以明确的使用Override表示方法是属于覆写的操作 package org.lxh.demo01; public class Studnt extends Person Override public String say() return 学生在说话。 ; ,18.2.2 Deprecated Deprecated注释表示是不建议使用的操作 package org.lxh.demo02; public class Info Deprecated public String getInfo() return he
3、llo ; ,18.2.3 SuppressWarnings SuppressWarings表示的是压制警告,如果有一些警告信息,则可以压制掉,不出现警告的提示 package org.lxh.demo02; public class TestInfo SuppressWarnings(deprecation) public static void main(String args) new Info().getInfo() ; ,18.3 自定义Annotation,定义Annotation的语法 public interface Annotation的名称 定义一个简单的Annotatio
4、n package org.lxh.demo04; public interface MyAnnotation ,18.4 Rentention和RententionPolicy,RetentionPolicy中规定了以下的三个范围 只在源代码中起作用:public static final RetentionPolicy SOURCE 只在编译之后的class中起作用:public static final RetentionPolicy CLASS 在运行的时候起作用:public static final RetentionPolicy RUNTIME,18.5 反射与Annotatio
5、n,18.5.1 取得全部的Annotation 18.5.2 加入自定义的Annotation,18.5.1 取得全部的Annotation 在一个方法上使用三个内建的Annotation声明 package org.lxh.demo09; public class Info Override Deprecated SuppressWarnings(value=) public String toString() return hello ; ,18.5.2 加入自定义的Annotation 自定义的Annotation编写的时候如果要想让其有意义,则必须使用RUNTIME声明范围 pack
6、age org.lxh.demo09; import java.lang.annotation.*; Retention(value=RetentionPolicy.RUNTIME) public interface MyAnnotation public String key() default LXH; public String value(); ,18.6 深入Annotation,18.6.1 Target 18.6.2 Documented注释 18.6.3 Inherited,18.6.1 Target 一个自定义的Annotation可以在任意的位置上使用 package or
7、g.lxh.demo11; MyAnnotation public class Info MyAnnotation private String name ; MyAnnotation public String toString() return hello ; ,18.6.2 Documented注释 此种表示的是文档的注释格式 package org.lxh.demo12; import java.lang.annotation.*; Documented Target(value = ElementType.METHOD, ElementType.TYPE ) Retention(va
8、lue = RetentionPolicy.RUNTIME) public interface MyAnnotation public String key() default LXH; public String value() default LXH; ,18.6.3 Inherited 表示一个Annotation能否被使用其类的子类继续继承下去,如果没有写上此注释,则此Annotation根本就是无法继承的 package org.lxh.demo13; import java.lang.annotation.*; Inherited Documented Target(value = ElementType.METHOD, ElementType.TYPE ) Retention(val
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞墨科技就业前景指南
- 2024年(优)土地平整合同篇
- 2024届高三语文核心素养新学案
- 2023年营销师考试试题
- 2024年仓库安全生产管理制度
- 证券公司工作总结12篇
- 【 生物 】生物的变异课件-2025-2026学年人教版生物八年级下册
- 【 生物 】生物进化的原因同步课件-2025-2026学年生物新教材人教版八年级下册
- 大湾区首台“华龙一号”核电机组-中广核广东太平岭核电1号机组投产发电(核聚湾区·能动世界)
- 2023年教师资格之小学综合素质提升训练试卷B卷附答案
- 汽车销售毕业论文题目
- 13《猫》第二课时公开课一等奖创新教学设计
- 竞聘护士长面试题与答案
- 2025年内蒙古党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5套)
- 数字化管理师笔试试题及答案
- 腰椎间盘突出症病例讨论
- 2025年高考真题-历史(甘肃卷) 含解析
- 2024建安杯信息通信建设行业安全竞赛题库
- 2025年四川省宜宾市中考道德与法治真题(原卷版)
- EPC项目设计管理方案
- 2025-2030中国生物质能行业市场深度调研及投资前景与投资策略研究报告
评论
0/150
提交评论