1 / 24
文档名称:

Java反射机制较全面.ppt

格式:ppt   大小:580KB   页数:24页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Java反射机制较全面.ppt

上传人:rdwiirh 2020/6/21 文件大小:580 KB

下载得到文件列表

Java反射机制较全面.ppt

相关文档

文档介绍

文档介绍:Java反射机制概述本课程主要讲述Java反射机制本课程要求大家对Java泛型知识有所了解,因为程序代码中大量使用了泛型相关知识2010-12-2第*页目录Java反射简介………………………4ClassObject………………………8动态实例化………………………11Method使用………………………14Field使用………………………16实用案例………………………18总结………………………222010-12-2第*页动态语言“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection。2010-12-2第*页什么是反射反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2010-12-2第*页Java反射的应用Spring框架:IOC(控制反转)Hibernate框架:关联映射等白盒测试2010-12-2第*<T>:表示一个正在运行的Java应用程序中的类和接口,:代表类的成员变量(也称类的属性)Method类:代表类的方法Constructor类:代表类的构造方法Array类:提供了动态创建数组,以及访问数组的元素的静态方法2010-12-2第*页Class<T>类是程序的一部分,每个类都有一个Class对象。换言之,每当编写并且编译了一个新类,就会产生一个Class对象Class没有公共构造方法。Class对象是在加载类时由Java虚拟机以及通过调用类加载器中的defineClass方法自动构造的,因此不能显式地声明一个Class对象Class是Reflection起源。要想操纵类中的属性和方法,都必须从获取Classobject开始2010-12-2第*页第一个实例就用大家非常熟悉的ArrayList类,我们尝试来获取ArrayList申明的方法。 publicstaticvoidmain(String[]args){ ArrayListaList=newArrayList(); ClassalClass=(); ("①"+alClass); ("②"+()); Method[]alMethod=(); for(Methodmethod:alMethod){ ("③"+method); ("④"+()); } }第一步永远是获得被反射类的Class对象!案例一2010-12-2第*()每个对象都有此方法获取指定实例对象的ClassListlist=newArrayList();ClasslistClass=();()获取当前Class的继承类ClassListlist=newArrayList();ClasslistClass=();ClasssuperClass=();=;(类名)用Class的静态方法,传入类的全称即可try{Classc=("");}catch(ClassNotFoundExceptione){();}=;ClassintegerClass=;ClassvoidClass=;2010-12-2第*页根据具体情形和个人爱好,可以选择下面任何一种方式获得Clas