粗浅看java反射机制编程开发技术.docVIP

  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反射机制编程开发技术.doc

粗浅看java反射机制-编程开发技术 粗浅看java反射机制 原文出处:吴士龙 Jave?反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允 许程序在运 行时透过Rcflcction APIs取得任何一个已知名称的class的内 部信息,包括其 modifiers (诸如 public, static 等)、superclass (例 如 Object)、实现之 interfaces (例如 Cloneable),也包括 fields 和 methods的所有信息,并可于运行吋改变fields内容或唤起methods。 Java反射机制容许程序在运行时加载、探知、使用编译期间完全未知的 classcso换言Z, Java可以加载一个运行时才得知名称的class,获得其完 整结构。 JDK 中提供的 Reflection API Java 反射相关的 APT 在包?java. lang, reflect?中,JDK 1.6. 0 的 reflect 包 如下图: iava.la na.refloct ?□ Annot^teciEfement GenerfcArravTvoe PaFametenzed 丁yoe Wi烘gnfType 真 Acce$$iDleO0ect Constructor Methoa Modifier Proxy REnEcrPEnrussio n Invoc ati on T 3 r qe tExc epti on Mart ormEaParamEtenzea T yoeExcepticin Undeclarea T hrcwableExc eotion 错误 Gen erii Si qn atureF ormatE rror Member接I I该接I【可以获取有关类成员(域或者方法)后者构造函数的信息。 AccessibleObject 类 该类是域(field)对象、方法(method)对象、构造函数(constructor)对象 的基 础类。它提供了将反射的对象标记为在使用时取消默认Java语言访问控 制检 查的能力。 Array类??提供动态地生成和访问JAVA数组的方法。 Constructor类? ?捉供一个类的构造函数的信息以及访问类的构造函数的接 口。 Field类????提供一个类的域的信息以及访问类的域的接口。 Method类???提供一个类的方法的信息以及访问类的方法的接口。 Modifier类??提供了 static方法和常量,对类和成员访问修饰符进行解码。 Proxy?类????提供动态地生成代理类和类实例的静态方法。 JAVA反射机制提供了什么功能? Java反射机制提供如下功能:在运行吋判断任意一个对象所属的类在运行吋 构造任意一个类的对象 在运行时判段任意一个类所具有的成员变量和方法在运行时调用任一个对彖的 方法 在运行时创建新类对彖 在使用Java的反射功能吋,基木首先都要获取类的Class对象,再通过Class 对象获取其他的对象。 这里首先定义用于测试的类: span style=font-size:18px;classType{ publicintpublntField; publicString pubStringField; privateintprvIntFicld; publicType() { Log(Default Constructor); Type (intargl, String arg2){ publntField = argl; pubStringField = arg2; 13 Log(〃C on st rue tor with parameters7) ; 15 } publicvoidsctintField(intval) { this.prvlntField = val; 19 } publicintgetlntField() { returnprvIntField; } privatcvoidLog(String msg) { System, out. println(z,Type:,z+ msg); } }/span span style=z,font-size: 18px;〃 classExtendTypeextendsType{ publicintpublntExtcndFicld; publicString pubStringExtendField; privateintprvIntExtendField; span style二气「hite-space:prez, /spanpubl icExtendType() { } Log(z/Default Constructor7); } ExtendType(in

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档