了解Java的反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。
Java反射提供的功能:
1.在运行时判断任何一个对象所属的类
2.在运行时构造任何一个类的对象
3.在运行时判断任何一个类所具有的的成员变量和方法
4.在运行时调用任何一个对象的成员变量和方法
5.生成动态代理
Java.lang.reflect.
Class类 代表一个类
Field类 代表类的成员变量。
Method类 代表类的方法
Constructor类 代表类的构造函数。
Array类 提供动态创建数组,以及访问数组 的元素的静态方法