这可以在Eclipse JDT中编译,但不能在1.6.30或1.7.25编译:
package doh;
import static doh.Wtf.InnerClass.innerclassMethod;
import java.io.Serializable;
public class Wtf {
static class InnerClass implements Serializable {
public static void innerclassMethod() {
}
}
}
使用javac我得到以下编译错误:
error: cannot find symbol
static class InnerClass implements Serializable {
symbol: class Serializable
location: class Wtf
注释掉多余的静态导入会使代码编译。重新排序import语句也是如此。
答案 0 :(得分:7)
我使用jdk 1.7.25得到了相同的编译错误。
似乎是a known bug(尽管错误报告中给出的示例使用枚举作为嵌套类,但它在概念上是相同的)并且建议的解决方法与您描述的相同:
- 交换进口报表
- 删除静态导入并使用完全限定名称