第18章+给编译器看的注释──Annotation(注解).ppt_第1页
第18章+给编译器看的注释──Annotation(注解).ppt_第2页
第18章+给编译器看的注释──Annotation(注解).ppt_第3页
第18章+给编译器看的注释──Annotation(注解).ppt_第4页
第18章+给编译器看的注释──Annotation(注解).ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论