This question already has answers here:
What does .class mean in Java?

(7个答案)


5年前关闭。




以下构造的确切含义是什么:MyClassName.class

起初我以为MyClassName.class代表对为MyClassName类定义的静态类变量的访问,但这是正确的,因此应该可以进行以下分配:

MyClassName m = new MyClassName();
Class<MyClassName> clazz = m.class; //access static class variable by using an instance variable


MyClassName.class的真正含义是什么?它是静态类变量吗?它是Java的特殊构造吗?

最佳答案

Java中的每个类都有一个关联的java.lang.Class实例,其中包含有关该类的元数据,即其属性,类型,方法,超类等。

在这里,MyClassName.class称为类文字。链接到Java文档以获取更多信息-http://docs.oracle.com/javase/specs/jls/se5.0/html/expressions.html#15.8.2

07-28 08:13