几天前我发现了一段Java代码,它使用了class上下文中的关键字,例如:
MyConcreteClass.class.AMethod();
我尝试在 JFrame 中执行此操作,例如:
JFrame.class.getName();
这是可行的,但是......我无法在互联网上弄清楚/找到这个关键字在这种情况下的含义。我只用它来声明类。
谁能给我解释一下什么class在这种情况下意味着什么?
Thanks,
在此背景下class
不是关键字,它是类的特殊属性(“类文字”),表示其相应的实例Class http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html。例如,要获得Class
的对象String
,我们这样做:String.class
。返回的值是实例Class
代表String
的类(注意大小写的使用)。
Here .class
用于实际类,为了使用其实例之一获得相同的结果,我们使用getclass()
方法。继续我们的示例,此代码片段返回相同的实例Class
对应于一个String
: "".getClass()
.
为了圆润这个想法——这个片段总是会返回true
,对于具有要测试的相应实例的任何类:
"".getClass().equals(String.class)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)