繁体   English   中英

Scala / Java互操作的静态嵌套类可见性问题

[英]Static nested class visibility issue with Scala / Java interop

假设我在库中有以下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互操作性常见问题解答:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM