[英]Scala class to implement two Java Interfaces - how?
我剛開始學習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編寫的新功能注入到現有的Java應用程序中。 現有框架期望兩個接口合同都得到滿足。
第二個接口可以使用with
關鍵字實現
class ImplementingClass extends EventRecorder with TransactionCapable {
def record(event: Event) {}
def commit() {}
}
進一步在每個后續接口上用關鍵字with
分隔。
class Clazz extends InterfaceA
with InterfaceB
with InterfaceC {
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.