java 反射

来源:互联网 发布:手背静脉识别算法研究 编辑:程序博客网 时间:2024/04/24 16:32

反射可以结合Java的字节码,使用ASM和cglib等库,还能动态生成类。 hibernate的延迟载入,spring的AOP都是这么实现的

    java 反射 :
        在运行时判断任意一个对象所属的类。
        在运行时构造任意一个类的对象。
        在运行时判断任意一个类所具有的成员变量和方法。
        在运行时调用任意一个对象的方法
       Reflection

    由java.lang.reflect
        Class类:代表一个类。
        Field 类:代表类的成员变量(成员变量也称为类的属性)。
        Method类:代表类的方法。
        Constructor 类:代表类的构造方法。
        Array类:提供了动态创建数组,以及访问数组的元素的静态方法

 


getName():获得类的完整名字。
getFields():获得类的public类型的属性。
getDeclaredFields():获得类的所有属性。
getMethods():获得类的public类型的方法。getMethod(String name(方法名称), Class[方法中的参数类型] parameterTypes)
getDeclaredMethods():获得类的所有方法。getConstructor(Class[构造方法中的参数类型] parameterTypes)