Java中的公共匿名内部类

Dim*_*ims 0 java anonymous-inner-class public

匿名内部类默认是私有的吗?我可以公开吗?

我需要通过反射访问方法.

Pét*_*rök 7

匿名内部类是匿名的,原因是:它们不能直接从外部世界访问,只能通过引用变量/方法参数.(出于同样的原因,他们也是私人的.)

我猜你可能会尝试使用其编译器生成的名称(例如OuterClass$1)通过反射来访问这样的类,但这是特定于实现的,并且可能会改变您将另一个匿名内部类添加到同一外部类或下一个JVM版本的那一刻.所以这样的解决方案会非常脆弱.

你为什么要真的这么做?如果您解释实际问题,我们可能会提供更好的选择.