Scala类实现两个Java接口 – 如何实现?

我刚开始学习Scala,现在我想知道如何用一个Scala类实现两个不同的Java接口? 假设我有以下用Java编写的接口

public interface EventRecorder { public void abstract record(Event event); } public interface TransactionCapable { public void abstract commit(); } 

但是Scala类一次只能扩展一个类。 我怎样才能拥有可以同时履行这两个合同的Scala类? 我是否必须将这些界面映射到特征中?

注意,我的Scala类将用于Java,因为我试图将用Scala编写的新function注入到现有的Java应用程序中。 现有框架期望两个接口合同都得到满足。

第二个接口可以使用with关键字实现

 class ImplementingClass extends EventRecorder with TransactionCapable { def record(event: Event) {} def commit() {} } 

进一步在每个后续接口上用关键字with分隔。

 class Clazz extends InterfaceA with InterfaceB with InterfaceC { //... }