簡體   English   中英

Scala類實現兩個Java接口 - 如何實現?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM