【发布时间】:2020-09-22 16:18:27
【问题描述】:
我正在通过 java 中的反射,其主要目的是在运行时检查类。
我可以知道检查类是什么意思吗?
【问题讨论】:
-
检查它有哪些属性,哪些方法等等
-
请注意,虽然“检查”并不正确,但您可能会将其替换为“内省”一词,其字面意思是“向内看”。
标签: java reflection
我正在通过 java 中的反射,其主要目的是在运行时检查类。
我可以知道检查类是什么意思吗?
【问题讨论】:
标签: java reflection
您可以为任何 Java 对象或类获取 Class 对象,如下所示:
Class cls = String.class
或:
Class cls = "abcd".getClass()
在此处的每种情况下,cls 都会为您提供对 String 类型的 Class 对象的引用。
然后您可以调用该Class 对象上的方法来了解有关原始对象或类的信息,例如其方法、字段和注释。看看the documentation of Class。
有一系列类代表一个类的各个部分,例如Method、Constructor 和Field。您也可以在 Java 文档中查找这些内容。
【讨论】:
检查意味着找出类有哪些字段和方法。这些方法的签名是什么。方法、字段和类本身上有哪些注释。
这对于某些类型的基础设施代码是必需的。例如,一个库采用任意类的实例(即库的作者事先一无所知的类)并将其保存到数据库中。它需要知道该类必须将哪些字段保存到数据库中的适当列中。
【讨论】: