1. 什么是反射?
可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。
程序中一般的对象的类型都是在编译期确定下来的,而java反射机制可以动态地创建对象并调用其属性,这样的对象在编译期是未知的,所以我们可以通过反射集中制直接创建对象,即使这个对象的类型在编译器是未知的。
2. 反射的缺点?
- 会额外消耗一定的系统资源
- 会破坏封装性从而导致安全问题
3. 你是怎么理解反射的(为什么框架需要反射)
java反射机制可以动态地创建对象并调用其属性。
很多框架(比如Spring)都是配置化的(比如通过XML文件配置Bean),为了保证框架的通用性,它们可能需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射,运行时动态加载需要加载的对象