概念:java反射机制是指在程序运行状态中,对于任意一个类,都能够知道这个类的所有方法和属性,对于任意一个对象,都能调用他的任一一个方法和属性,这种动态获取信息以及动态调用对象方法的功能成为java语言的反射机制。
反射获取类的三种方式:
1、通过类名点Class 的方式获取
2、通过对象点getClass() 的方式获取
3、通过全类名的 方式获取(用的较多,可能会抛出classNotFountExpection异常):Class class = Class.forname("com.text.Person")
创建实例
获取类后,我们来创建它的对象利用newInstance方法
获取属性:
1、获取所有属性
c.getDeclaredFields() 返回的是数组
2、获取指定属性
c.getDeclaredField("id") 与上面一个方法的不同之处少了个s
获取方法和构造方法
getDeclaredMethods() 获取所有方法
getReturnType() 获取方法的返回值类型
getParamaterType() 获取入参参数类型
getDeclaredMethod("方法名",参数类型.class,……) 获取特定的方法
构造方法关键字
getDeclaredConstructors() 获取所有的构造方法
getDeclaredConstructor(参数类型.class,……) 获取特定的构造方法
父类和父接口
getSuperclass() 获取某类的父类
getInterfaces() 获取某类实现的接口