【问题标题】:Static nested class visibility issue with Scala / Java interopScala / Java互操作的静态嵌套类可见性问题
【发布时间】:2011-02-17 03:57:22
【问题描述】:

假设我在库中有以下 Java 文件:

package test;
public abstract class AbstractFoo {
   protected static class FooHelper {
      public FooHelper() {}
   }
}

我想从 Scala 扩展它:

package test2
import test.AbstractFoo
class Foo extends AbstractFoo {
  new AbstractFoo.FooHelper()
}

我收到一个错误,“无法在对象 test.AbstractFoo 中访问类 FooHelper”。 (我每晚使用 Scala 2.8)。以下Java编译正确:

package test2;
import test.AbstractFoo;
public class Foo2 extends AbstractFoo {
    { new FooHelper(); }
}

如果将 Scala 版本放在 test 包中,它也会编译。有没有其他方法可以编译?

【问题讨论】:

    标签: java scala interop visibility nested-class


    【解决方案1】:

    嗯,我可以阅读 Java 互操作性常见问题解答:

    http://www.scala-lang.org/faq/4#4n1381

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      相关资源
      最近更新 更多