puu*_*eli 27 java scala interface
我刚开始学习Scala,现在我想知道如何用一个Scala类实现两个不同的Java接口?假设我有以下用Java编写的接口
public interface EventRecorder {
public void abstract record(Event event);
}
public interface TransactionCapable {
public void abstract commit();
}
Run Code Online (Sandbox Code Playgroud)
但是Scala类一次只能扩展一个类.我怎样才能拥有可以同时履行这两个合同的Scala类?我是否必须将这些界面映射到特征中?
注意,我的Scala类将在Java中使用,因为我试图将用Scala编写的新功能注入到现有的Java应用程序中.现有框架期望两个接口合同都得到满足.
mic*_*ebe 47
第二个接口可以用with关键字实现
class ImplementingClass extends EventRecorder with TransactionCapable {
def record(event: Event) {}
def commit() {}
}
Run Code Online (Sandbox Code Playgroud)
进一步在每个后续接口上用关键字分隔with.
class Clazz extends InterfaceA
with InterfaceB
with InterfaceC {
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23716 次 |
| 最近记录: |