前几天发现Java中的一段代码,上下文中使用了class关键字,例如:
MyConcreteClass.class.AMethod();
我已经尝试在 JFrame 中完成它,例如:
JFrame.class.getName();
这行得通,但是......我无法在互联网上弄清楚/找到这个关键字在那种情况下的含义。我只用它来声明类。
谁能解释一下 class 在这种情况下的含义?
谢谢,
最佳答案
在此上下文中,class
不是关键字,它是类的特殊属性(“类文字”),表示其对应的 Class
实例。 .例如,要获取String
的Class
对象,我们这样做:String.class
。返回的值是 Class
的实例,表示 String
的类(注意大写和小写的使用)。
此处 .class
用于实际类,为了使用其实例之一获得相同的结果,我们使用 getclass()
方法。继续我们的示例,此代码段返回对应于 String
的相同 Class
实例:"".getClass()
。
为了圆这个想法 - 对于任何具有您要测试的相应实例的类,此代码段将始终返回 true
:
"".getClass().equals(String.class)
关于Java类关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16288156/