Java反射(Reflection)

1. 什么是反射?

可以在运行时获得程序或程序集中每一个类型的成员和成员的信息

程序中一般的对象的类型都是在编译期确定下来的,而java反射机制可以动态地创建对象并调用其属性,这样的对象在编译期是未知的,所以我们可以通过反射集中制直接创建对象,即使这个对象的类型在编译器是未知的。

2. 反射的缺点?

  • 会额外消耗一定的系统资源
  • 会破坏封装性从而导致安全问题

3. 你是怎么理解反射的(为什么框架需要反射)

java反射机制可以动态地创建对象并调用其属性

很多框架(比如Spring)都是配置化的(比如通过XML文件配置Bean),为了保证框架的通用性,它们可能需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射,运行时动态加载需要加载的对象

参考文章

深入解析Java反射(1) - 基础)

results matching ""

    No results matching ""