一、基本知识点:
1、反射的概念和应用场合;
2、如何应用反射获取类的信息(反射的入口);
3、通过反射,则可以运行时生成对象实例、运行期间调用方法、运行时更改属性值;
4、如何利用反射来动态创建和访问数组。
二、知识点导入:(java是动态语言吗?)
通常情况下,java在运行时是不能改变程序结构和变量类型,从这一点来看,java不是动态语言(和C++一样);
但是,java有一个非常突出的动态相关机制:反射。
通过反射,java可以于运行时加载、探知和使用编译期间完全未知的类,生成其对象实体,调用其方法和对属性设置。所以,从这一点来看,java是一个半动态的语言。
三、java语言反射机制概述:
1、重要性: 反射机制是构建框架技术的基础所在,灵活掌握,为框架技术打基础。
2、什么是java语言的反射机制?
java程序在运行状态(指的是在运行时,而不是编译时)中:
对于任意一个类,都能够知道这个类的所有属性和方法(也就是能够探知类的结构);
对于任何一个对象,都能调用它的任意一个方法;
这种动态获取信息以及动态调用对象方法的功能,就是java语言的反射机制。
例如,在Eclipse环境中,在一个对象后面输入“.”后,Eclipse就会自动将该对象的所有方法罗列出来以供选择,这就用到了java的反射机制。
3、java反射机制的动态性质:
A、运行时生成对象实例;
B、运行期间调用方法;
C、运行时更改属性。
4、java反射可以实现什么功能?
A、在运行时判断任意一个对象所属的类;
B、在运行时构造任意一个类的对象;
C 、在运行时判断任意一个类具有的方法和属性;
D、在运行时调用任意一个对象的方法;
E、生成动态代理。