什么是反射?
正常场景下,java从源码到运行有3个阶段:
source class runtime
反射提供的是runtime阶段获取类的class实例、方法、属性、注解,并且能够调用类的方法的途径,这种动态获取类信息和调用类方法的机制被称之为反射
为什么要使用反射?
正常的实例化一个对象
ClassA objA = new ClassA();
objA.sayHello();
通过反射去实例化一个对象
ClassA objA = (ClassA)ClassA.class.newInstance();
Method method = objA.getMethod("sayHello");
method.invoke();
在source阶段实际上二者并无任何区别,反射也没有体现出任何的优势,那么任何一个java开发人员必然会问为什么要使用反射?反射的重点在于runtime阶段的获取类信息和调用类方法,那么当你的编码过程中中有“部分信
Java反射允许在运行时动态获取类信息并调用方法,适用于编码阶段未知类名或需访问私有属性的场景。它不优于普通编码方式,而是解决普通方式无法解决的问题。文中提供了反射操作类、对象、构造器、方法、属性和注解的示例代码。
订阅专栏 解锁全文
1134

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



