Eclipse为内部类生成Java类文件名冲突

时间:2014-10-01 20:16:15

标签: java eclipse

我有两个顶级课程;每个都有一个同名的内部类:

    **A.java**
    public class A
    {
    }
    class TestCase
    {
    }

    **B.java**
    public class B
    {
    }
    class TestCase
    {
    }

我的期望是我将结束四个类文件,包括A $ TestCase.class和B $ TestCase.class,这是我从命令行编译时得到的。但是,Eclipse只创建了TestCase.class,并声明" TestCase类型已经定义了#34;当我尝试编译B.java时。

我是否可以设置生成的Eclipse选项(我认为是标准的)A $ TestCase.class和B $ TestCase.class?

感谢。

顺便说一下,我正在使用Luna: 版本:Luna Release(4.4.0) 构建ID:20140612-0600

3 个答案:

答案 0 :(得分:2)

TestCase的两个版本都是顶级课程。您需要创建内部类

public class A {
    class TestCase {
    }
}

答案 1 :(得分:0)

它不适合我。它会创建一个A$TestCase.class和一个B$TestCase.class

但这只是当他们真的是内部阶级......在你的情况下,他们根本不是真正的内部阶级。

答案 2 :(得分:0)

TestCase不是您想象的内部类,这就是编码时格式化代码必不可少的原因。检查this