Java类关键字

vic*_*aba 6 java methods static class keyword

我几天前发现Java中的代码在上下文中使用了class关键字,例如:

MyConcreteClass.class.AMethod();
Run Code Online (Sandbox Code Playgroud)

我试过在JFrame中做到这一点,例如:

JFrame.class.getName();
Run Code Online (Sandbox Code Playgroud)

这可行,但......我无法弄清楚/在互联网上找到此关键字在该上下文中的含义.我只用它来宣布课程.

任何人都可以解释一下这个背景下的课程意味着什

谢谢,

Ósc*_*pez 6

在这个上下文class中不是关键字,它是表示其对应实例的类的特殊属性("类文字")Class.例如,为了获得Class对象String,我们这样做:String.class.返回的值是Class表示String类的实例(注意使用大写和小写).

这里.class用于实际的类,使用我们使用该getclass()方法的一个实例获得相同的结果.在我们的例子,这个片段返回同一个实例Class对应于String:"".getClass().

为了完善这个想法 - true对于任何具有您要测试的相应实例的类,此代码段将始终返回:

"".getClass().equals(String.class)
Run Code Online (Sandbox Code Playgroud)