加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 08:53:53 所属栏目:安全 来源:网络整理
导读:假设我在库中有以下 Java文件: package test;public abstract class AbstractFoo { protected static class FooHelper { public FooHelper() {} }} 我想从Scala扩展它: package test2import test.AbstractFooclass Foo extends AbstractFoo { new Abstract
假设我在库中有以下 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版本放在测试包中,它也会编译.还有另一种方法可以让它编译吗?

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读