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 { //... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |