《Java开发实战经典》教师讲解031603 反射与Annotation.pptVIP

《Java开发实战经典》教师讲解031603 反射与Annotation.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第16章:Annotation —— 反射与Annotation 本章目标 可以通过Java反射机制取得使用的全部Annotation 可以通过Java反射机制取得指定的Annotation 通过反射取得Annotation 如果要想让一个Annotation起作用,则必须结合反射机制。在Class类中存在以下几种与Annotation操作有关的方法 定义一个简单类 例如:现在有如下的类使用了系统的三个内建Annotation 取得全部的Annotation 取得自定义的Annotation 以上的程序是取得了一个元素所声明的全部RUNTIME的Annotation,但是有时候需要取得的是某个指定的Annotation,所以此时在取得之前就必须进行明确的判断,使用isAnnotationPresent()方法进行判断。 定义一个RUNTIME的Annotation 在类中使用Annotation 取得指定的Annotation 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 判断一个元素上是否存在注释 普通 public boolean isAnnotationPresent(Class? extends Annotation annotationClass) 5 判断元素是否表示一个注释 普通 public boolean isAnnotation() 4 返回直接存放在此元素上的所有注释 普通 public Annotation[] getDeclaredAnnotations() 3 返回此元素上的所有注释 普通 public Annotation[] getAnnotations() 2 如果在一个元素中存在注释,则取得全部注释 普通 public A extends Annotation A getAnnotation(ClassA annotationClass) 1 描述 类型 方法 No. package org.lxh.demo16.reflectannotation; public class SimpleBeanOne { @SuppressWarnings(unchecked) // 使用@SuppressWarnings的Annotation @Deprecated // 使用@Deprecated的Annotation @Override // 使用@Override的Annotation public String toString() { // 覆写toString()方法 return Hello LiXingHua!!! ; // 返回信息 } } package org.lxh.demo16.reflectannotation; import java.lang.annotation.Annotation; import java.lang.reflect.Method; public class ReflectDemo01 { public static void main(String args[]) throws Exception {// 所有异常抛出 Class? c = null ; // 取得Class实例 c = Class.forName(org.lxh.demo16.reflectannotation.SimpleBeanOne) ; Method toM = c.getMethod(toString); // 取得toString()方法 Annotation an[] = toM.getAnnotations(); // 取得全部的Annotation for (Annotation a : an) { // foreach输出 System.out.println(a); // 直接输出信息 } } } package org.lxh.demo16.reflectannotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(value=RetentionPolicy.RUNTIME) // 此Annotation在类执行时依然有效 public @interface MyDefaultAnnotationReflect { public String key() default LXH ; // 定义一个key变量,默认值为“LXH”

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档