加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala类实现两个Java接口 – 怎么样?

发布时间:2020-12-16 09:44:49 所属栏目:安全 来源:网络整理
导读:我刚刚开始学习Scala,现在我想知道如何用一个Scala类实现两个不同的Java接口?假设我有以下用Java编写的接口 public interface EventRecorder { public void abstract record(Event event); }public interface TransactionCapable { public void abstract c
我刚刚开始学习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() {}
}

在每个后续界面上进一步使用关键字进行分隔。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读