java反射.ppt_第1页
java反射.ppt_第2页
java反射.ppt_第3页
java反射.ppt_第4页
java反射.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

CoreJava技术之 反射与动态代理 主讲人 黄燚 课程内容 时间 80分钟 Java反射机制研究及应用 50分钟 反射的概念及作用反射主要的类反射知识应用于DAO动态代理 30分钟 代理模式 ProxyPattern 动态代理 DynamicProxy 原理动态代理的典型应用 目标 JavaReflaction可以于运行时加载 探知 使用编译期间完全未知的classesJava反射机制提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法 Java反射机制研究及应用 反射 反射主要的类 java lang Class 代表一个类java lang reflect Method 代表类的方法java lang reflect Field 代表类的成员变量java lang reflect Constructor 代表类的构造方法 Java反射机制研究及应用续 检查运行时对象1 通过对象的getClass方法 获得Class对象2 通过Class对象的getMethods 方法获得所有的方法3 通过Class对象的getFields 方法获得所有的public字段 Java反射机制研究及应用续 动态访问对象的字段 Field提供了1 get Object 方法 获得特定对象的某个字段的值2 set Object XXX 来设置特定对象的个字段的值以上XXX表示数据类型 Java反射机制研究及应用续 动态访问对象的方法 Method提供了Objectinvoke Objectobj Object args 方法 调用某个特定对象的方法 如果参数或返回类型为基本类型 将自动转化为相应的包装类对象 Java反射机制研究及应用续 动态访问构造方法 Java反射机制研究及应用续 Java反射机制研究及应用续 反射知识应用于DAO在学习JDBC以后是不是想实现一个简单 通用的封装来方便编程 比如说从service层传来任一个对象 在DAO层动态解析后组装成SQL语句发送到DB中 解决方案 Java反射机制 Java反射机制研究及应用续 自我检测题要求 若有一个类Student java 在运行过程中创建了一个对象s1和一个Student类型的引用s2 现需把对象s1中的所有属性拷贝到新建的对象s2中 假定JavaBean的每个属性都有public类型的getXXX 和setXXX 方法 动态代理是指客户通过代理类来调用其它对象的方法动态代理使用场合 调试远程方法调用 Java动态代理 客户 代理 对象 接口 代理接口 Java动态代理续 动态代理步骤 1 创建一个实现接口InvocationHandler的类 它必须实现invoke方法publicObjectinvoke ObjecttheProxy Methodmethod Object params throwsThrowable try Objectretval method invoke targetObj params PrintouttheresultSystem out println retval returnretval catch Exceptionexc 动态代理步骤 2 创建被代理的类以及接口 TestInterface TestTargetClass implements doTest1 doTest2 动态代理步骤 3 通过Proxy的静态方法newProxyInstance ClassLoaderloader Class interfaces InvocationHandlerh 创建一个TestInterface代理TestTargettarget newTestTarget CreateaproxytowraptheoriginalimplementationDebugProxyproxy newDebugProxy target GetareferencetotheproxythroughtheTestInterfaceinterfaceTestInterfacetest TestInterface Proxy newProxyInstance TestInterface class getClassLoader newClass TestInterface class proxy 动态代理步骤 4 通过TestInterface

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论