5

SomeClass我在另一个类( )中有一个匿名内部类。

两者都SomeClass.class.getClasses()返回SomeClass.class.getDeclaredClasses()空数组。

我在Class' Javadocs.

可以以某种方式使用反射检索匿名内部类吗?

匿名内部类和普通内部类之间还有哪些显着差异?

4

2 回答 2

4

您可以尝试对 Class$1 ... Class$n 进行暴力搜索,直到找不到更多。

于 2009-10-31T16:57:54.370 回答
0

如果它使用反射,那可能是一个非常糟糕的主意。撇开这一点不谈,我相信您可以在运行时添加额外的内部类,因此列出可能尚未想到的类是没有意义的。我猜,列出当前加载的类需要通过 Java 代理或类似的代理。

匿名内部类由名称、封闭方法和附加合成字段组成,用于复制已复制的外部局部变量。一个类在运行时与另一个类几乎相同。请记住,1.1 引入了内部类,但类文件自 1.0 以来几乎没有变化。

于 2009-10-31T17:27:50.767 回答