什么用于反射? (例如Java Reflection API)

时间:2012-03-21 19:13:13

标签: java reflection

  

可能重复:
  What is reflection, and why is it useful?

所以我最近一直在搞乱Reflection API,而且在这里和那里搞砸似乎很酷但是究竟是什么用它?

你知道,获取字段/方法名称和返回类型以及设置可访问性和诸如此类的东西都很有趣,但如果你能用你的文件读取java文件/类,这个[反射]怎么可能有用呢?自己的眼睛?

也许我真的无知或者我不理解这个反思的全部概念,但是你可以向我解释一下这会有什么帮助吗?

3 个答案:

答案 0 :(得分:4)

有时您希望拥有一个可以处理任何数据类型的库而无需读取类文件。

e.g。序列化,数据库连接框架,依赖注入框架,使用注释的框架。

答案 1 :(得分:0)

我用它从我无权更改的对象生成键和值。

因此,如果你有一个庞大的代码库,并且一个团队“拥有”你需要使用的一个类,但它确实是一成不变的。也就是说,没有进一步的更改,你真的需要将它转换为你自己的格式,而不是手动执行,这很烦人,所以你可以做的是获取字段名称及其值,并根据你的规则把它放在你的自己的对象。

答案 2 :(得分:0)

反射与泛型一起使用。这样,一段代码就可以处理多种类型的对象。

当您不一定有权访问java文件但想要了解某些特定信息时,通常也会在故障排除工作中使用它。