关于“类”属性/字段

时间:2009-07-02 01:56:52

标签: java

当你这样做时:

MyClass.class.someMethod()

“班级”字段究竟是什么?我在API文档中找不到它。它是一个继承的静态字段吗?

我认为保留关键字不允许作为实体名称。

4 个答案:

答案 0 :(得分:3)

请阅读:

类文字是一个表达式,由类,接口,数组或基本类型的名称或伪类型void组成,后跟一个“。”和令牌类。类文字的类型,C.Class,其中C是类,接口或数组类型的名称,是Class。如果p是基本类型的名称,则让B为装箱转换后的类型p的类型(第5.1.7节)。然后p.class的类型是Class。 void.class的类型是Class。

http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.2

答案 1 :(得分:2)

.class实际上不是一个字段。您可以将其视为文件扩展名的“扩展名”。它是用于区分类对象而不是类的实例的标记。

答案 2 :(得分:1)

MyClass不是对象的名称,它是类名,因此这实际上是特殊语法,用于检索指定类的相应Class<MyClass>对象。它是一种语言功能,而不是MyClass类的真实属性。

答案 3 :(得分:0)