我前几天发现Java中的代码在上下文中使用了 class 关键字,例如:
MyConcreteClass.class.AMethod();
我尝试在JFrame中执行此操作,例如:
JFrame.class.getName();
这样有效但是......我无法弄清楚/在互联网上找到这个关键字在这种情况下的含义。我只是用它来宣布课程。
任何人都可以解释一下 class 在这种情况下的含义吗?
谢谢,
答案 0 :(得分:6)
在此上下文中,class
不是关键字,它是表示其Class
对应实例的类的特殊属性(“类文字”)。例如,要获取Class
的{{1}}对象,我们执行此操作:String
。返回的值是String.class
的实例,代表Class
的类(注意使用大写和小写)。
这里String
用于实际的类,以使用我们使用.class
方法的一个实例获得相同的结果。继续我们的示例,此代码段返回与getclass()
Class
对应的String
的相同实例。
为了完善这个想法 - 对于任何具有您要测试的相应实例的类,此代码段将始终返回"".getClass()
:
true
答案 1 :(得分:2)
在此上下文中,class
是class literal的一部分,引用代表该类的Class对象。
答案 2 :(得分:1)
在示例中使用class
关键字将为您提供Class<JFrame>
类型的对象实例。
答案 3 :(得分:1)
当您执行JFrame.class时,您将获得Class<JFrame>
个实例,因此您可以调用getName
方法。
类文字允许您访问有关该类的信息。