一、Java-Reflect专题
1.Class类的使用
2.方法的反射
3.成员变量的反射
4.构造函数的反射
5.Java类加载机制
|------------------------------------------基本反射简介----------------------------------------------|
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象
能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:"程序运行时,允许改变程序结构或变量类型,这种语言称为
PythonRuby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection
用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以
加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields
设值、或唤起其methods。
|-----------------------------------用于获得方法信息函数:------------------------------------------|
Method getMethod(String name, Class[] params) -- 使用特定的参数类型,获得命名的公共方法
Method[] getMethods() -- 获得类的所有公共方法
Method getDeclaredMethod(String name, Class[] params) -使用特写的参数类型,获得类声明的命名的方法
Method[] getDeclaredMethods() -- 获取的是所有该类自己声明的方法,不问访问权限
|-----------------------------------用于获得获取成员变量:------------------------------------------|
Field[] getFields()--方法获取的是所有的public的成员变量的信息
Field[] getDeclaredFields()--获取的是该类自己声明的成员变量的信息
Field getField(String name) -- 获得命名的公共字段
Field getDeclaredField(String name)