《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附3多态和反射

guokehua(@yahoo.com.cn oy Java 1010 附3多态和反射 2008-3-10 郭克华EE框架实战教学视频
2008-3-10 1 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 附3多态和反射

guokehua(@yahoo.com.cn 了y多态性 静态多态性: 函数重载三种情况 1010 ·动态多态性 父类(抽象类,接口)引用指向子类(实现类) 对象 函数参数传递 用对话框的例子来说明这个问题 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 2 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 多态性 • 静态多态性: – – 函数重载三种情况 函数重载三种情况 • 动态多态性: – – 父类(抽象类,接口)引用指向子类(实现类) 对象 – – 函数参数传递 – – 用对话框的例子来说明这个问题 用对话框的例子来说明这个问题

guokehua(@yahoo.com.cn oy Java Java中,反射是一种强大的工具。它使您能够创建灵活的代码, 这些代码可以在运行时装配,无需在组件之间进行源代码链接。 反射允许我们在编写与执行时,使我们的程序代码能够接入装载 到VM中的类的内部信息,而不是源代码中选定的类协作的代码。 这使反射成为构建灵活的应用的主要工具。 个典型的例子: Customer cus=new Customer 和 String str=“ Customer” str cus=new strO 有什么区别? 反射的基础: Class类 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 3 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 • Java中,反射是一种强大的工具。它使您能够创建灵活的代码, 这些代码可以在运行时装配,无需在组件之间进行源代码链接。 反射允许我们在编写与执行时,使我们的程序代码能够接入装载 到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。 这使反射成为构建灵活的应用的主要工具。 • 一个典型的例子: • Customer Customer cus = new Customer(); = new Customer(); • 和 • String str = “Customer Customer”; • str cus = new str(); • 有什么区别? • 反射的基础: Class类

guokehua(@yahoo.com.cn oy Java! 基础1:获取一个Cass对象(包装一个类的基本信息) ·从对象的实例获取 1010 Class c=mystery. getclasso 如果类名在编译时是未知的,则可 以使用Cla: Nameo方法来获取 Class c=Class forName(class String) 1·获取类名称: c.getNameo 注意看Clas的文档 008-3-10 郭克华J2E框架实战教学视频
2008-3-10 4 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 基础1:获取一个Class对象(包装一个类的基本信息) • 从对象的实例获取。 从对象的实例获取。 – –Class c = mystery. Class c = mystery.getClass getClass(); • 如果类名在编译时是未知的,则可 如果类名在编译时是未知的,则可 以使用Class.forName forName()方法来获取. – –Class c = Class. Class c = Class.forName forName(classString classString); • 获取类名称: c.getName getName(); • 注意看Class的文档

guokehua(@yahoo.com.cn oy Java! 基础2:检索指定类的构造函数 每一个构造方法可以用类 Constructor来描述,,包括名称,修饰 符,参数类型CasS,和异常列表 可以通过一个 ClassE]getConstructors方法获取到该类的 Constructor 1010 数组。 Class c=o.getclasso Constructor[ the Constructors=c. getConstructorso for (int i=0; 1< the Constructors length; 1++)( Classl parameter Types the Constructors[]. getParameter Types for (int k=0; k< parameter Types. length; k++)i String parameterString- parameter Types[ k] getName0 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 5 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 基础2:检索指定类的构造函数 :检索指定类的构造函数 • 每一个构造方法可以用类Constructor Constructor来描述,,包括名称,修饰 符,参数类型(Class[]) Class[]),和异常列表。 • 可以通过一个Class的getConstructors getConstructors方法获取到该类的Constructor Constructor 数组。 Class c = o. Class c = o.getClass getClass(); Constructor[] Constructor[] theConstructors theConstructors = c.getConstructors getConstructors(); for (int i = 0; i < i = 0; i < theConstructors theConstructors.length; i++) { .length; i++) { Class[] Class[] parameterTypes parameterTypes = theConstructors theConstructors[i].getParameterTypes getParameterTypes(); for (int k = 0; k < k = 0; k < parameterTypes parameterTypes.length; k ++) { .length; k ++) { String parameterString parameterString = parameterTypes parameterTypes[k].getName getName(); } }

guokehua(@yahoo.com.cn 了y基础3:检索方法 可以找到隶属于一个类的所有方法,通过 getMethods包 含 Method数组,进而得到该方法的返回类型,修饰符, 方法名称,参数列表 1010 Class c=o.getclasso; Method[ theMethods =c. getMethodso; for (int i=0; i< theMethods length; 1++) String methodString=theMethods[i]. getNameO String returnString theMethodsi].getReturnType( getNameO Classl parameter Types= theMethods[i].getParameterTypes(: for (int k=0; k< parameter Types. length; k++)i String parameterString= parameter Types[k]. getNameO 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 6 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 基础3:检索方法 • 可以找到隶属于一个类的所有方法,通过 可以找到隶属于一个类的所有方法,通过getMethods getMethods包 含Method数组,进而得到该方法的返回类型,修饰符, 数组,进而得到该方法的返回类型,修饰符, 方法名称,参数列表 方法名称,参数列表 Class c = o. Class c = o.getClass getClass(); Method[] Method[] theMethods theMethods = c.getMethods getMethods(); for (int i = 0; i < i = 0; i < theMethods theMethods.length; i++) { .length; i++) { String methodString methodString = theMethods theMethods[i].getName getName(); String returnString returnString = theMethods theMethods[i].getReturnType getReturnType().getName(); Class[] Class[] parameterTypes parameterTypes = theMethods theMethods[i].getParameterTypes getParameterTypes(); for (int k = 0; k < k = 0; k < parameterTypes parameterTypes.length; k ++) { .length; k ++) { String parameterString parameterString = parameterTypes parameterTypes[k].getName getName(); } }

guokehua(@yahoo.com.cn 了y使用:创建对象 方法1 Class class Definition= Class for Name( class Name);/指定类的运 行期实例 1010 object= classDefinition. newInstanceO;/调用无参构造函数来生 成指定类的实例。 方法2 a,创建一个 Class对象 b,创建一个 Constructor对象, getConstructor( Classl params)方 法,参数是一个与构造方法相适合的 Class数组 c,在 Constructor,对象上调用 newInstance方法来生成一个对象, 参数是一个 object数组与这个构造方法相配备。 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 7 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 使用1:创建对象 • 方法1 – – Class classDefinition classDefinition = Class. = Class.forName forName(className className);//指定类的运 行期实例 – – object = object = classDefinition classDefinition.newInstance newInstance();//调用无参构造函数来生 成指定类的实例。 • 方法2 – – a,创建一个Class对象 – – b,创建一个Constructor Constructor对象,getConstructor getConstructor(Class[] (Class[] params)方 法,参数是一个与构造方法相适合的Class 数组. – – c,在Construct Constructor对象上调用newInstance newInstance方法来生成一个对象, 参数 是一个object数组与这个构造方法相配备

guokehua(@yahoo.com.cn 了使用2:调用方法 a创建一个 Class对象 ·b创建一个方法对象 method, getMethod(String methodName, Classi)方法 c调方法对象, method. invoke( object, Objecti),两个 参数第一个是指调用方法所属于的 对象,第二个是传递的值对象列表。 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 8 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 使用2:调用方法 • a.创建一个Class对象 • b.创建一个方法对象 创建一个方法对象 method, method,getMethod getMethod(String (String methodName methodName,Class[]) ,Class[])方法 • c.调方法对象, method.invoke(object,Object[]), method.invoke(object,Object[]),两个 参数,第一个是指调用方法所属于的 第一个是指调用方法所属于的 对象,第二个是传递的值对象列表。 对象,第二个是传递的值对象列表

guokehua(@yahoo.com.cn 了y应用 针对对话框的例子,能否用反射 来将模块切换灵活化 008-3-10 郭克华J2EE框架实战教学视频
2008-3-10 9 oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 应用 • 针对对话框的例子,能否用反射 针对对话框的例子,能否用反射 来将模块切换灵活化 来将模块切换灵活化?
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附2集合.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附1软件安装.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附10Jdbc2.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_前言.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_40设计模式(3).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_39设计模式(2).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_38设计模式(1).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_37案例6.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_36Ant&JUnit.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_35LOG4j.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_34EntityEJB(3).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_33EntityEJB(2).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_32EntityEJB(1).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_31SessionEJB(2).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_30SessionEJB(1).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_29案例5.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_28AJAX.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_27JSTL.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_26EL.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_25案例4.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附4Jsp1.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附5Jsp2.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附6Jsp3.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附7Servlet1.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附8Servlet2.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_J2EE高级框架实战教学视频PPT_PPT_附9Jdbc1.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_JavaObserverSamples_Java中的观察者模式(Observer).docx
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_JavaProxySamples_Java中的观察者模式(Observer).docx
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_JavaProxySamples_代理模式.docx
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Java设计模式中文版.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_spring事务管理机制_Spring中文手册.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_spring事务管理机制_Spring事务管理实例.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_EJB设计模式(petStore).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_Sun J2EE 宠物店例子介绍_1.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_Sun J2EE 宠物店例子介绍_2.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_原始码追踪记(1).pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_原始码追踪记(2)-Model 篇.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_原始码追踪记(3)-商业逻辑处理.pdf
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_Sun+J2EE+宠物店_宠物店.doc
- 《高级Web技术》参考资料:3-应用web_5-J2EE框架_阅读参考资料_实用j2ee设计模式编程指南(PDF)_实用J2EE设计模式编程指南.pdf