我刚注意到我可以创建任何类(比如说MyClass)并执行
Class a = MyClass.class
MyClass仅从Object类扩展,但我检查了Object类的文档,但找不到名为“class
”的字段。这个领域来自哪里?
答案 0 :(得分:5)
它被称为" class literal"它在Java语言规范的this section中正式定义:
类文字是一个表达式,由类,接口,数组或基本类型的名称或伪类型void组成,后跟一个'。&#39 ;和令牌
class
。
这是一个表达式,class
关键字不代表类型成员。