- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《[Core.Java基础教程]_杨帆_13.高级编程-反射、动》.pdf
/blog/
反射
使用反射编程,可以使你的程序在运行时自动修改程序,动态获得新的行为能力。
gzyangfan@
反射的能力
在运行时分析类的能力。
在运行时分析、修改对象的能力。
利用Method对象,操作对象的行为。
实现数组的操作。
生成动态代理。
gzyangfan@
JavaReflectionAPI
在Java中,主要由以下类来实现反射,这些类大多
都位于java.lang.reflect包中。
◦ Class(java.lang.ClassT)
表示正在运行的Java应用程序中的类和接口。
◦ Field
代表类或接口的成员,及相关信息。
◦ Method
提供类或接口上单独某个方法(以及访问该方法)的信息。
◦ Constructor
提供关于类的单个构造方法的信息以及对它的访问权限。
◦ Array类
提供了动态创建和访问Java数组的方法。
gzyangfan@
Class类
我们可简单地将Class看作是类(如:java.lang.String)
的代码本身(类的运行时信息)。
Object类的getClass()方法将返回对象对应的
Class类实例。
Class类的常用方法:
◦ staticClass?forName(StringclassName)
返回与带有给定字符串名的类或接口相关联的Class对象。
◦ TnewInstance()
创建此Class对象所表示的类的一个新实例。
基本数据类型和关键字void也表示为Class对象。
gzyangfan@
如何获得类的信息
方法名 说明
getName() 获得类的完整名字
getFields() 获得类的public类型的属性
getDeclaredFields() 获得类的所有属性
getMethods() 获得类的public类型的方法
getDeclaredMethods() 获得类的所有方法
getMethod(Stringname,Class[]types) 获得类的特定方法,name参数指定
方法的名字,types参数指定方法的
参数类型
getConstrutors() 获得类的public类型的构造方法
getConstrutor(Class[]types) 获得类的特定构造方法,types参数
指定构造方法的参数类型。
getSuperclass() 返回表示此Class的超类的Class。
getInterfaces() 确定此对象所表示的类或接口实现的
接口。
您可能关注的文档
- 《the light of publicity in the progressive era》.pdf
- 《THE LIGHT PRINCESS(光明公主)》.pdf
- 《The Long Goodbye (level 6)》.doc
- 《The Marvelous Land Of Oz》.doc
- 《The New》.pdf
- 《The Phanerozoic Record of Global Sea-Level Change -GEO参考》.pdf
- 《The Piano Lesson剧本》.doc
- 《The Social Distribution of Land and Men in England 1436-1700》.pdf
- 《The State Land Cadastre of Belarus》.ppt
- 《the state land system and land development processes in contemporary china》.pdf
- 《[Core.Java基础教程]_杨帆_14.图形用户界面-GUI》.pdf
- 《[Java 6 JVM参数选项大全(中文版)]java 1.6-jvm-options-chinese-edition》.pdf
- 《[Java]读取文件方法大全 》.docx
- 《[java入门学习]第_1_章_Java概述》.doc
- 《[K线分析]K线基础专题》.doc
- 《[Mark_Humphrey]_Legends_Of_Jazz_Guitar(Bookos.org)》.pdf
- 《[Practical.Java].(美)海格尔.文字版》.pdf
- 《[Thinking In Java 练习题答案 第四版]Annotated+Solution+Guide+for+TIJ4》.pdf
- 《[www.java1234.com]EasyUI中文学习教程》.doc
- 《[乔布斯的魔力演讲].卡迈恩.加洛.The.Presentation.Secrets.of.Steve.Jobs.Carmine.Gallo.中文.文字版》.pdf
文档评论(0)