最新java反射机制和动态代理ppt模版课件

最新java反射机制和动态代理ppt模版课件

ID:20698442

大小:1.53 MB

页数:33页

时间:2018-10-15

最新java反射机制和动态代理ppt模版课件_第1页
最新java反射机制和动态代理ppt模版课件_第2页
最新java反射机制和动态代理ppt模版课件_第3页
最新java反射机制和动态代理ppt模版课件_第4页
最新java反射机制和动态代理ppt模版课件_第5页
资源描述:

《最新java反射机制和动态代理ppt模版课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java反射机制和动态代理主题:章节内容代理模式24Java反射机制31动态代理33概述本课程主要讲述Java反射机制与设计模式之一:代理模式的原理与应用同时详细讲述了Java对代理模式的支持以及Java中动态代理的原理,应用与实践目录Java反射机制代理模式Java语言的反射机制在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。J

2、ava反射机制主要提供了以下功能Java语言的反射机制在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法Java语言的反射机制Reflection是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过ReflectionAPIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等)、superclass(例如Object)、实现之interfaces(例如S

3、erializable),也包括fields和methods的所有信息,并可于运行时改变fields内容或调用methodsJavaReflectionAPI简介在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中Class类:代表一个类。Field类:代表类的成员变量(成员变量也称为类的属性)。Method类:代表类的方法。Constructor类:代表类的构造方法。“Class”class众所周知Java有个Objectclass,是所有Javaclasses的

4、继承根源,其内声明了数个应该在所有Javaclass中被改写的methods:hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Classobject。“Class”classClassclass十分特殊。它和一般classes一样继承自Object,其实体用以表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitiveJavatypes(boolean,byte,char,s

5、hort,int,long,float,double)以及关键词void。当一个class被加载,或当加载器(classloader)的defineClass()被JVM调用,JVM便自动产生一个Classobject。如果您想借由“修改Java标准库源码”来观察Classobject的实际生成时机(例如在Class的constructor内添加一个println()),不能够!因为Class并没有publicconstructor“Class”classClass是Reflection起源。针对任何您想探勘的

6、class,唯有先为它产生一个Classobject,接下来才能经由后者唤起为数十多个的ReflectionAPIs“Class”object的取得途径Java允许我们从多种途径为一个class生成对应的Classobject“Class”object的取得途径JavaReflectionAPI简介例程DumpMethods类演示了ReflectionAPI的基本作用,它打印一个类所具有的方法信息JavaReflectionAPI简介例程ReflectTester类进一步演示了ReflectionAPI的基本使

7、用方法。ReflectTester类有一个copy(Objectobject)方法,这个方法能够创建一个和参数object同样类型的对象,然后把object对象中的所有属性拷贝到新建的对象中,并将它返回这个例子只能复制简单的JavaBean,假定JavaBean的每个属性都有public类型的getXXX()和setXXX()方法。JavaReflectionAPI简介ReflectTester类的copy(Objectobject)方法依次执行以下步骤(1)获得对象的类型:ClassclassType=obj

8、ect.getClass();System.out.println("Class:"+classType.getName());JavaReflectionAPI简介在java.lang.Object类中定义了getClass()方法,因此对于任意一个Java对象,都可以通过此方法获得对象的类型。Class类是ReflectionAPI中的核心类,它有以下方法getName():获得类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。