Scala类实现两个Java接口-如何实现?
我刚刚开始学习Scala,现在想知道如何用一个Scala类实现两个不同的Java接口?假设我有以下用Java编写的接口Scala类实现两个Java接口-如何实现?,java,scala,interface,Java,Scala,Interface,我刚刚开始学习Scala,现在想知道如何用一个Scala类实现两个不同的Java接口?假设我有以下用Java编写的接口 public interface EventRecorder { public void abstract record(Event event); } public interface TransactionCapable { public void abstract commit(); } 但是Scala类一次只能扩展一个类。我怎样才能拥有一个可以同时
public interface EventRecorder {
public void abstract record(Event event);
}
public interface TransactionCapable {
public void abstract commit();
}
但是Scala类一次只能扩展一个类。我怎样才能拥有一个可以同时满足两个契约的Scala类?我必须将这些接口映射到特性中吗
注意,当我试图将用Scala编写的新功能注入现有Java应用程序时,我的Scala类将从Java中使用。现有的框架期望两个接口契约都能得到满足。第二个接口可以用
和
关键字来实现
class ImplementingClass extends EventRecorder with TransactionCapable {
def record(event: Event) {}
def commit() {}
}
此外,每个后续界面都用关键字with
分隔
class Clazz extends InterfaceA
with InterfaceB
with InterfaceC {
//...
}
谢谢我确实试过了,但IntelliJ吐出了一些模糊的语法错误。我必须再试一次,看看项目是否设置不正确。应该提到的是,后续接口是用关键字
with
分隔的吗?例如,x用q扩展y和z。