63

任何人都可以解释Java反射和内省的使用吗?当我们需要同时使用两者时?

4

1 回答 1

84

反射(取自oracle java 教程

反射通常由需要能够检查或修改在 Java 虚拟机中运行的应用程序的运行时行为的程序使用。这是一个相对高级的特性,只应该由对语言基础有深入了解的开发人员使用。考虑到这一点,反射是一种强大的技术,可以使应用程序执行原本不可能的操作。

内省(取自sun java beans 教程的存档

自省是分析 bean 的设计模式以揭示 bean 的属性、事件和方法的自动过程。此过程控制 bean 操作和属性的发布和发现。

Introspection 使用反射,Introspection 和 Reflection 的关系可以看成类似于 JavaBeans 和其他 Java 类。

可能值得一看“反射与内省:暴露的对象”,其中详细介绍了性能和使用情况。请注意,该文章已过时,1998 年。

希望这可以帮助。

于 2010-01-11T19:49:59.150 回答