(类型)String.class是(类型)Object.class的子类型吗?

Han*_*etz 5 java inheritance

在Java中,类对象与它们所代表的类具有相同的遗传关系吗?

Ada*_*ter 8

.class属性始终返回一个Class对象.该Class班(怪异)有一个通用的参数.泛型参数类型是子类.

Class<String> stringClass = String.class;
Class<Object> objectClass = Object.class;
Run Code Online (Sandbox Code Playgroud)

而由于泛型,Type<foo>不是的超类型Type<subtype_of_foo>(参见Java教程),这意味着,答案是"否".

  • 不,泛型参数类型不是子类; 它们都是同一个类,由于类型擦除,一旦编译器完成它的事情,通用参数就不存在了. (2认同)