为什么object.getClass()。getClasses()返回空数组?

时间:2013-01-15 07:23:56

标签: java reflection

出于好奇,我试图从任何拥有它的类中打印static final int SIZE字段。要获得“任何拥有它的类”,我只是试图获得所有类。但我注意到它总是返回一个长度为0的数组。

医生说

  

如果此Class对象没有公共成员类或接口,则此方法返回长度为0的数组。如果此Class对象表示基本类型,数组类或void

,则此方法还返回长度为0的数组

但是Object没有列为基元。对象在某种程度上被认为是无效的吗?

那么,我该怎么做 - 获取所有课程的数组?

- 为什么这对Object不起作用?

1 个答案:

答案 0 :(得分:7)

getClasses()方法返回调用此方法的类对象的所有内部类(在主体内声明的类)的数组。对于大多数课程,这将始终为零。它永远不会是所有类的联合。 看一下类加载器 - 在Java中,没有方法可以简单地生成所有可用的类。您需要使用提供此信息的特定类加载器。