我在另一个类(SomeClass
)中有一个匿名内部类。
SomeClass.class.getClasses()
和SomeClass.class.getDeclaredClasses()
都返回空数组。
我在Class
'Javadocs中找不到一些提示。
可以通过某种方式使用反射检索匿名内部类吗?
匿名内部类和普通内部类之间还有哪些显着差异?
答案 0 :(得分:4)
您可以尝试强制搜索Class $ 1 ... Class $ n,直到找不到为止。
答案 1 :(得分:0)
如果它使用反射,那可能是一个非常糟糕的主意。抛开这一点,我相信你可以在运行时添加其他内部类,因此列出可能尚未考虑过的类是没有意义的。我想,列出当前加载的类需要通过Java代理或类似代理。
匿名内部类组成了名称,封闭方法和用于复制已复制的外部局部变量的其他合成字段。一个类在运行时几乎与另一个类相同。请记住,1.1引入了内部类,但是类文件自1.0以来几乎没有变化。