说我已经定义了以下旧版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接口?
答案 0 :(得分:2)
通过scala-colored镜头查看你的java代码,你会看到
A
,foo
A
,A.I
。由于随播广告的成员are not auto-imported inside the class,您需要先使用A.I
或先将其导入:
def foo() = new A.I { ... }
// or with an import
import A.I
def foo() = new I { ... }
答案 1 :(得分:1)
此代码对我有用:
class MyA extends A {
def foo() = new A.I {
def bar = 3
}
}