Java 什么是查课

Java 什么是查课,java,reflection,java-reflection,Java,Reflection,Java Reflection,我正在使用java进行反射,其主要目的是在运行时检查类 我可以知道检查类意味着什么吗?检查意味着找出类具有哪些字段和方法。这些方法的特征是什么。方法、字段和类本身上存在哪些注释 这对于某些类型的基础设施代码是必需的。例如,一个库获取一个任意类的实例(即库的作者事先一无所知的类),并将其保存到数据库中。它需要知道类必须将哪些字段保存到数据库中相应的列中。您可以为任何Java对象或类获取一个class对象,如下所示: Class cls = String.class 或: 在这里的每种情况下,cl

我正在使用java进行反射,其主要目的是在运行时检查类


我可以知道检查类意味着什么吗?

检查意味着找出类具有哪些字段和方法。这些方法的特征是什么。方法、字段和类本身上存在哪些注释


这对于某些类型的基础设施代码是必需的。例如,一个库获取一个任意类的实例(即库的作者事先一无所知的类),并将其保存到数据库中。它需要知道类必须将哪些字段保存到数据库中相应的列中。

您可以为任何Java对象或类获取一个
class
对象,如下所示:

Class cls = String.class
或:

在这里的每种情况下,
cls
都提供了对
字符串
类型的
对象的引用

然后,您可以调用该
对象上的方法,以了解有关原始对象或类的信息,例如其方法、字段和注释。看一看


有一系列类表示类的各个部分,如
方法
构造函数
字段
。你也可以在Java文档中查找它们。

检查它有哪些属性,哪些方法,等等。注意,虽然“检查”不是错误的,但是你可以用术语“内省”来替换它,它的字面意思是“查看内部”。“这是某些类型的基础结构代码所需要的”实际上不需要反射。其他语言没有它也能过得很好。这正是许多Java框架的工作方式。您可以在编译时代码生成中执行大致相同的操作。以Micronaut与Spring为例
Class cls = "abcd".getClass()