Java内省和反射

67

有人能解释一下Java反射和内省的使用吗?我们何时需要同时使用它们?

1个回答

86

反射(摘自Oracle Java教程

程序通常使用反射来检查或修改在Java虚拟机中运行的应用程序的运行时行为。这是一个相对高级的功能,应该仅由具有对语言基础知识有深入理解的开发人员使用。需要注意的是,反射是一种强大的技术,可以使应用程序执行原本不可能的操作。

内省(摘自Sun Java Beans教程的归档版本

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

内省使用反射,内省与反射之间的关系类似于JavaBeans和其他Java类之间的关系。

值得一提的是,可以参考“Reflection&Introspection:Objects Exposed”,其中详细介绍了性能和用法。请注意,该文章已经过时,写于1998年。

希望这能有所帮助。


有与虚拟机监测的连接吗? - hakkican

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接