我正在用异步方法编写一个kafka生产者API。因此,我使用了 Callback 接口(interface)来打印元数据。
java代码是:
private static class ProducerCallback(ProducerRecord<String, String> record) implements Callback {.....}
Scala 代码:
private class ProducerCallback(record: ProducerRecord[String, String]) extends Callback{...}
为什么在scala中回调被扩展并且没有实现?
最佳答案
Why in Scala the
Callback
is extended and not implemented?
不同的语言。显然,Java和Scala语言设计者在这一点上做出了不同的选择。
为什么?
我还没有找到1 Scala 设计者对他们为什么选择不复制 Java 的 extends
+ implements
的明确解释区别。然而,根据一般观察,他们倾向于使用干净/简洁的语法而不是更冗长的语法。
很明显,Scala 在不进行区分的情况下“工作”,如果语言不需要进行区分,那么干净/简洁的方法就不会这样做。
另请参阅:Why Java / Scala use extends / implements keywords?
(Java 为何要进行区分?这并不重要:这是古老的历史。)
<小时/>1 - 要么不存在,要么我的谷歌技能让我失败。如果有人找到,请评论...
关于java - 为什么Java的回调接口(interface)扩展而不是在Scala中实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59769728/