反射可以结合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)
本文深入探讨了Java反射机制的核心功能,包括如何在运行时获取类的信息、构造对象、调用方法等。通过Class、Field、Method及Constructor等类,详细介绍了反射API的基本使用方法,并列举了多个关键操作。
52万+

被折叠的 条评论
为什么被折叠?



