与外部类同名的内部类?

问题描述

编号从上类声明的JLS部分:

@H_502_2@

如果一个类与其任何封闭的类或接口具有相同的简单名称,则是编译时错误

注意:在某种程度上,我通过寻找明确的规则设法错过了这一点。 如果您想要我到达这里的曲折方式,请查看编辑历史记录。

解决方法

限制条件:

我有一个编写的Maven源代码生成器,它是从具有嵌套名称空间的某些数据文件创建POJO类的。我希望每个名称空间都嵌套为一个内部类。在某些情况下,我最终会得到内部类,这些内部类与最外部类的简单名称相同。

所有类都必须是public作用域,因为这是对类型安全包装器的覆盖,例如属性文件,但是是分层的。

我不能更改名称,否则我将更改名称含义和包含数据的名称空间。

给出比我有以下代码:

public class A
{
    public class B
    {
        public class A
        {

        }
    }
}

内部类应附加外部类的名称以形成唯一的名称空间,例如A$B$A.class,我还没有找到不进行编译的正当理由。

有什么技巧可以使它编译吗?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”