繁体   English   中英

如何在Scala中实现嵌套的Java接口

[英]How to implement a nested java interface in scala

假设我定义了以下旧版Java:

abstract class A {

  abstract I foo();

  public interface I
  {
    int bar();
  }
}

我想在scala中实现以下内容:

class MyA extends A {

  def foo() = new I {

    def bar = 3

  }
}

Scala将不会编译错误

找不到:I型

如何在Scala代码中引用我的Java接口?

通过scala彩色镜片查看您的java代码,您将看到

  • 具有抽象方法foo A类,
  • 其中具有单个接口AI的对象A

由于同伴的成员不会自动导入类中 ,因此您需要使用AI或先将其导入:

def foo() = new A.I { ... }

// or with an import
import A.I
def foo() = new I { ... }

这段代码对我有用:

class MyA extends A {
  def foo() = new A.I {
    def bar = 3
  }
}

暂无
暂无

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

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