java - 我的困惑: reflection in Java

标签 java reflection rtti instanceof

我刚刚读完《Thinking in Java》中有关类型信息和反射的章节。虽然 instanceof 对我来说似乎很自然,但一些反射的例子让我感到困惑。我想知道Java项目中是否广泛使用反射?反射(reflection)的“好处”是什么?您能推荐一些关于反射和类型信息的有趣讲座以及更多好的和有值(value)的例子吗?

编辑(还有一个问题):

为什么使用java.lang.reflect.Method.setAccesible()访问私有(private)方法和字段很有用

提前致谢。

最佳答案

如果您可以发布一些示例,我很乐意为您解释。 反射广泛用于需要提取有关正在运行的对象的元信息的框架(例如,依赖于注释或对象中的字段的框架,请考虑 Hibernate、Spring 等)。 在更高的层上,我有时使用反射来提供通用功能(例如,对对象中的每个字符串进行编码、模拟鸭子类型等)。 我知道您已经读过一本涵盖反射基础知识的书,但我需要指出 Sun(呃.. Oracle)官方教程是必读的:http://download.oracle.com/javase/tutorial/reflect/

关于java - 我的困惑: reflection in Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5849124/

相关文章:

java - Jython 和 python 模块

c# - 使用 CodeDom 生成具有值和名称的枚举

c++ - 将 typeid 的结果分配给变量

reflection - 尝试使用反射修改 String 值时 JVM 崩溃

c# - 通过检查其通用类型来查找具有反射的特定属性

delphi - 如何在 Delphi 中使用 RTTI 或 TypeInfo 获取枚举的有效范围

c++ - Typeinfo 如何在多态集合中获取类的名称/ID?

java - 为什么 Maven 在生产构建中使用测试资源?

Java将CSV文件读入数组但忽略第一行

java - 为所有线程锁定对象?