




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
博学谷——让IT教学更简单,让IT学习更有效PAGE12PAGE8黑马程序员《Java基础入门(第3版)》教学设计课程名称:授课年级:授课学期:教师姓名:年月课题名称第9章反射机制计划课时6课时教学引入在Java中,如果定义了一个类,则可以通过类的实例化操作创建对象,并通过对象获取对应的类信息。反射机制是Java中非常重要的一个知识点,应用面很广,Java中的大部分类库以及框架底层都用到了反射机制,反射机制是Java框架设计的灵魂。本章将针对Java的反射机制进行详细讲解。教学目标使学生了解反射,能够说出反射的概念和优点。使学生了解Class类,够说出Class类实例化对象的3种方式。使学生熟悉Class类的基本使用,够分别通过无参构造方法和有参构造方法实例化对象。使学生掌握类结构的获取,能够通过反射获取类的父类、全部构造方法、全部方法、全部属性以及实现的全部接口。使学生熟悉反射的基本应用,能够通过反射调用类中的setter、getter方法,操作类中的属性。教学重点获取类实现的全部接口获取父类获取全部构造方法获取全部方法获取全部属性教学难点通过反射调用类中的方法通过反射调用类中的getter/setter方法通过反射操作属性教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(反射概述、认识Class类、通过无参构造实例化对象)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、通过直接导入的方式导入新课在程序运行过程中,如果想要对程序自身进行操作的话,例如,自我检查、获取类本身等等,此时需要使用Java的反射机制对类进行一系列操作。接下来将针对反射的概述进行详细讲解。三、新课讲解知识点1-反射概述教师通过PPT结合实际操作的方式讲解反射概述。(1)什么是反射:常规情况下程序通过类创建对象,反射就是将这一过程进行反转,通过实例化对象来获取所属类的信息。(2)Java的反射机制要有以下4个作用。在程序运行状态中,构造任意一个类的对象。在程序运行状态中,获取任意一个对象所属的类的信息。在程序运行状态中,调用任意一个类的成员变量和方法。在程序运行状态中,获取任意一个对象的属性和方法。(3)反射机制的优点是可以实现动态创建对象和编译。知识点2-认识Class类教师通过PPT结合实际操作的方式讲解认识Class类。(1)Class对象:Java虚拟机在加载.class文件时,会产生一个Class对象代表该.class字节码文件,从Class对象中可以获得.class文件内容。(2)Class类的常用方法,具体如下。forName(StringclassName):获取与给定字符串名称的类或接口相关联的Class对象。getConstructors():获取类中所有public修饰的构造方法对象。getDeclaredFields():获取所有成员变量对应的字段类对象,包括public、protected、default和private修饰的字段,但不包括从父类继承的字段。getFields():获取所有public修饰的成员变量对应的字段类对象,包括从父类继承的字段。getMethods():获取所有public修饰的成员方法对应的方法类对象,包括从父类继承的方法。getMethod(Stringname,Class...parameterType):根据方法名和参数类型获得对应的方法类对象,并且只能获得public修饰的方法类对象。getInterfaces():获取当前类实现的全部接口。getClass():获取调用该方法的Class对象。getName():获取类的完整名称,名称中包含包的名称。getPackage():获取类所属的包名称。getSuperclass():获取类的父类。newInstance():创建Class对象关联类的对象。getComponentType():获取数组的对应Class对象。isArray():判断此Class对象是否是一个数组。(3)使用Class类进行对象的实例化可以使用以下3种方式。根据全限定类名获取:Class.forName(“全限定类名”)。根据对象获取:对象名.getClass()。根据类名获取:类名.class。(4)通过一个案例演示Class类的3种方式的实例化。知识点3-通过无参构造实例化对象教师通过PPT结合实际操作的方式讲解通过无参构造实例化对象。如果想通过Class类实例化其他类的对象,则可以调用newInstance()方法,在调用newInstance()方法实例化其他类的对象时,必须要保证被实例化的类中存在一个无参构造方法。通过一个案例演示Class类通过无参构造方法实例化对象。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第二课时(通过有参构造实例化对象、获取类实现的全部接口、获取父类、获取全部构造方法)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、通过直接导入的方式导入新课前面我们已经讲解了反射的概述以及对Class类的使用也有了一个初步的理解,在Java中,还可以使用Class类的有参构造方法实例化对象,接下来我们讲解有参构造方法实例化对象以及通过反射获取接口、方法等相关知识。新课讲解知识点1-通过有参构造实例化对象教师通过PPT结合实际操作的方式讲解通过有参构造实例化对象。(1)通过有参构造方法实例化对象的步骤如下。通过调用Class类中的getConstructors()方法获取要实例化的类中的全部构造方法。获取实例化使用的有参构造方法对应的Constructor对象。通过Constructor类实例化对象。(2)Constructor类的常用方法,具体如下。getModifiers():获取构造方法的修饰符。getName():获取构造方法的名称。getParameterTypes():获取构造方法中参数的类型。toString():返回此构造方法的信息。newInstance(Object…initargs):通过该构造方法的指定参数列表创建一个该类的对象,如果未设置参数,则表示采用默认无参的构造方法。(3)通过一个案例讲解使用有参构造方法实例化对象。知识点2-获取类实现的全部接口教师通过PPT结合实际操作的方式讲解获取类所实现的全部接口。(1)要获取一个类所实现的全部接口,可以调用Class类中的getInterfaces()方法。getInterfaces()方法声明格式如下所示。publicClass[]getInterfaces();(2)通过一个案例讲解通过getInterfaces()方法获取一个类所实现的全部接口。知识点3-获取父类教师通过PPT结合实际操作的方式讲解获取父类。(1)要获取一个类所实现的全部接口,可以调用Class类中的getInterfaces()方法。getInterfaces()方法声明格式如下所示。publicClass[]getInterfaces();(2)通过一个案例讲解通过getInterfaces()方法获取一个类所实现的全部接口。知识点4-获取全部构造方法教师通过PPT结合实际操作的方式讲解获取全部构造方法。(1)Class类的getConstructors()方法获取的构造方法需要存储到Constructor类型的数组当中。通过调用Constructor类的方法可以获取构造方法的详细信息,如构造方法的权限、名称、参数信息等。(2)通过一个案例讲解使用Constructor类的常用方法取得一个类中的全部构造方法。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第三课时(获取全部方法、获取全部属性、通过反射调用类中的方法)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、通过直接导入的方式导入新课在实际应用中,通过反射可以得到一个类的完整结构,包括类的构造方法、类的属性、类的方法。通过反射获取类结构需要使用到java.lang.reflect包下的Constructor、Field以及Method3个类。前面我们已经学习了通过反射获取类结构的部分内容,接下来将对通过反射获取类结构的其他内容进行详细讲解。三、新课讲解知识点1-获取全部方法教师通过PPT结合实际操作的方式讲解获取全部方法。(1)如果要获取类中的所有public修饰的成员方法对象,那么可以使用Class类中的getMethods()方法,该方法返回一个Method类的对象数组。(2)Method类的常用方法具体如下。getModifiers():获取方法的权限修饰符。getName():获取方法的名称。getParameterTypes():获取方法的全部参数的类型。getReturnType():获取方法的返回值类型。getExceptionType():获取方法抛出的全部异常类型。newInstance(Object…initargs):通过反射调用类中的方法。(3)通过一个案例演示类的全部方法的获取。知识点2-获取全部属性教师通过PPT结合实际操作的方式讲解获取全部属性。(1)通过反射获取一个类中的全部属性,Java提供了两种获取方式,分别如下。获取本类中,以及实现的接口或继承的父类中的公共属性,需要调用getFields()方法。获取本类中的全部属性,需要调用getDeclaredFields()方法。(2)Field类的常用方法具体如下。getModifiers():获取属性的权限修饰符。getName():获取属性的名称。isAccessible():判断属性是否可被外部访问。setAccessible(Booleanflag):设置属性是否可被外部访问。toString():返回Field类的信息。get(Objectobj):获取指定对象中属性的具体内容。set(Objectobj,Objectvalue):设置指定对象中属性的具体内容。通过一个案例演示如何获取一个类中的全部属性信息。知识点3-通过反射调用类中的方法教师通过PPT结合实际操作的方式讲解通过反射调用类中的方法。(1)通过反射调用类中的方法的具体操作步骤如下。通过调用Class类的getMethod()方法获取一个Method类的对象。调用getMethod()方法时需要传入方法名作为参数。通过获取的Method对象调用invoke()方法,执行目标方法。调用invoke()方法时,需要传递Class对象的实例作为参数。(2)通过一个案例讲解通过反射调用类中的方法。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第四课时(通过反射调用类中的getter/setter方法、通过反射操作属性)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、通过直接导入的方式导入新课通过上一节的学习,我们可以知道,反射可以取得一个类的完整结构,但在实际应用中,更多的是通过反射动态地访问类中的指定方法或指定属性,本节将对针对通过反射调用类中的getter/setter方法、通过反射操作属性进行详细讲解。三、新课讲解知识点1-通过反射调用类中的getter/setter方法教师通过PPT结合实际操作的方式讲解通过反射调用类中的getter/setter方法。通过一个案例演示使用反射调用类中的setter方法及getter方法。使用反射调用类中的setter方法及getter方法的实现思路如下。设置方法名称。设置方法名称时,直接使用的是属性名称,例如name和age。但实际需要的方法名称是setName()、getName()、setAge()、getAge(),所有属性名称的首字母必须大写,为了解决这个问题,程序中单独定义了一个initStr()方法,通过此方法将字符串中的首字母转换成大写,并在首字母转换成大写之后,将字符串连接到set字符串及get字符串之后找到对应的方法。调用setter()方法时,传入了实例化对象、要操作的属性名称、要设置的参数内容以及具体的参数类型,这样做是为了满足getMethod()方法和invoke()方法的调用。在调用getter()方法时,同样传入了一个实例化对象,因为其getter方法本身不需要接收任何参数,所以只传入了属性名称。知识点2-通过反射操作属性教师通过PPT结合实际操作的方式讲解通过反射操作属性。(1)类的属性的访问方式:除了调用getter/setter方法访问类的属性之外,反射机制也可以直接通过Field类操作类中的属性,通过Field类提供的set()方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿山破碎租赁合同范本
- 近期旅馆转让合同范本
- 酒店住宿付费合同范本
- 自动生成电子协议合同
- 装修漏水补偿合同范本
- 运动馆学员合同协议书
- 民间房产借款合同范本
- 电脑维保软件合同范本
- 音乐歌曲版权合同范本
- 湖州书画买卖合同范本
- 执业药师考试复习资料-《中药专业知识一》高频考点记忆口诀
- 第2课《互联网应用新特征》课件 2024--2025学年人教版(2024)初中信息技术七年级上册
- 《证券投资学》全套教学课件
- 小学英语教学评一体化
- 函数图像 课件-2025届高三数学一轮复习
- 专题05 《红星照耀中国》试题50题中考语文名著阅读试题50题
- 2022年安徽省体育彩票管理中心招聘考试试题及答案
- 沪科黔科版综合实践活动四年级上册全册教学设计教案
- 追觅入职测评题库
- 运输公司车辆安全检查表
- 煤矿井下掘进培训课件
评论
0/150
提交评论