7

这在 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

注释掉多余的静态导入会使代码编译。重新排序导入语句也是如此。

4

1 回答 1

7

我在 jdk 1.7.25 中得到相同的编译错误。

这似乎是一个已知的错误(尽管错误报告中给出的示例使用枚举作为嵌套类,但它在概念上是相同的)并且建议的解决方法与您描述的解决方法相同:

  • 交换导入语句
  • 删除静态导入并使用完全限定名称
于 2013-07-24T14:05:12.387 回答