反射是Java中框架设计的核心,通过对类的构造、属性、方法等数据的获取提供抽象的底层构建。
反射机制:
反射需要先获得类的class字节码,由JVM类加载器(ClassLoader)负责加载,并在内存中缓存class的内部结构。借助于Java的反射机制允许快速对类的结构数据进行访问和调用
第三种方法的使用:
Class objClass = Class.forName("com.igeek.pojo.User")
Object obj = objClass.newInstance()
获取类的构造方法
getConstructor(Class<T>... parameterTypes)
getConstructors()
获取类的属性
getField(String fieldName)
getFields()
获取类的方法
getMethod(String methodName,Class<T>...parameterType)
getMethods()
获取类的接口
getInterfaces()
获取类的超类
getSuperclass()
例子:
使用反射动态解析javax.swing.JFrame类
使用反射实例化该对象
使用反射动态解析该类的构造方法,获得构造方法的参数数量和类型
并使用无参构造以及带有String的构造
方法来实例化JFrame对象