英文:
What is meant by Inspecting classes
问题
我正在学习 Java 中的反射,它的主要目的是在运行时检查类。
能告诉我检查类的含义是什么吗?
英文:
Im going through Reflection in java and its main purpose is to inspect classes at RunTime.
May I know what does inspecting classes mean ?
答案1
得分: 1
检查意味着查找类具有哪些字段和方法。这些方法的签名是什么。方法、字段和类本身上有哪些注释。
这对于某些类型的基础结构代码是必要的。例如,一个库接受任意类的实例(该库的作者事先对该类一无所知),并将其保存到数据库中。它需要知道类具有哪些字段,以便将它们保存到数据库中的相应列中。
英文:
Inspecting means finding out what fields and methods class has. What are signatures of those methods. What annotations are present on the methods, fields and class itself.
This is needed for some type of infrastructural code. For example a library that takes an instance of an arbitrary class (that is the class the the author of the library know nothing about beforehand) and saves it into database. It needs to know what fields the class has to save them to appropriate columns in the database.
答案2
得分: 1
你可以获取任何 Java 对象或类的 Class
对象,就像这样:
Class cls = String.class;
或者:
Class cls = "abcd".getClass();
在这两种情况下,cls
都会为您提供对 String
类型的 Class
对象的引用。
然后,您可以在该 Class
对象上调用方法,以了解有关原始对象或类的信息,例如其方法、字段和注解等。请查阅 Class 的文档。
还有一系列表示类各部分的类,比如 Method
、Constructor
和 Field
。您也可以在 Java 文档中查找这些内容。
英文:
You can get a Class
object for any Java object or class, like this:
Class cls = String.class
or:
Class cls = "abcd".getClass()
In each case here, cls
gives you a reference to the String
type's Class
object.
You can then call methods on that Class
object to learn things about the original object or class, like about its methods, fields and annotations. Take a look at the documentation of Class.
There is a series of classes representing the parts of a class, like Method
, Constructor
and Field
. You can look those up in the Java docs as well.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论