我是编程的初学者,我刚刚开始使用greenfoot(使用Java创建游戏的软件)。当我编写代码时,我不得不使用在greenfoot中构建的构造,该构造使用的参数描述如下:java.lang.class我必须键入ClassName.class。我试图浏览文档和许多其他资源来弄清楚它是如何工作的以及这是什么,但是老实说我什么都不懂。有没有人可以简单地告诉我这是什么意思,以及像ClassName.class这样的构造如何工作?那是我第一次看到这样使用点符号,而在尝试引用其他类方法(例如:OtherClass.method())之前,我仅看到点符号。那么,它只是构建在每个类的实例变量中还是类似的东西?预先感谢
答案 0 :(得分:1)
它称为class literal。 ClassName.class
提供对表示给定类的Class
实例的访问。因此,例如,String.class
指的是Class
类的String
实例。使用该对象,您可以做各种事情(例如,通过反射找出其成员在运行时的状态)。 (FWIW,对象还通过其getClass
method来访问其类的Class
实例。)