Java类关键字

标签 java class methods static keyword

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

MyConcreteClass.class.AMethod();

我已经尝试在 JFrame 中完成它,例如:

JFrame.class.getName();

这行得通,但是......我无法在互联网上弄清楚/找到这个关键字在那种情况下的含义。我只用它来声明类。

谁能解释一下 class 在这种情况下的含义?

谢谢,

最佳答案

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

此处 .class 用于实际类,为了使用其实例之一获得相同的结果,我们使用 getclass() 方法。继续我们的示例,此代码段返回对应于 String 的相同 Class 实例:"".getClass()

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

"".getClass().equals(String.class)

关于Java类关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16288156/

相关文章:

c++ - 设置一个 2d char 空格数组

c++ - 为什么使用函数而不是对成员的引用?

Java 从另一个构造函数调用一个构造函数而不立即拥有参数

java - 如果只有主线程,是否必须同步任何方法?

java - 生成数字作为暴力应用程序的一部分

Java 字符串到对象列表

java - 是否可以使用Gradle生成测试类?

java - Java中如何扩展注解?

ruby - 将 ruby​​ 类拆分为多个文件

java - 如何用Java编写一个非常简单的用户登录代码?