java反射
java反射就是将java类抽象成一个Class类,可以动态获取java类中方法,属性和构造器。
Class类对象的创建
方法一:Class.forName(“类的字符串”)
方法二:类的对象调用getClass()方法
方法三:通过类的名字打点class,如:Person.class;
class中的重要方法:
getDeclaredFields()
getDeclaredConstructors()
getMethods()
newInstance()使用默认构造器创建此Class对象所表示类的一个实例
Method反射调用自身
invoke(Object obj,Object …args)
如果底层方法是实例方法,第一个参数就是该对象实例,第二个参数是方法的参数列表,invoke的返回值就是实例方法的返回值。
如果底层方法是静态的,那么可以忽略指定的 obj 参数。该参数可以为 null。 如果底层方法所需的形参数为 0,则所提供的 args 数组长度可以为 0 或 null。