Java 8扩展方法 - 为什么它们不被称为mixins或traits?

时间:2013-06-11 05:35:27

标签: java mixins traits java-8

据我所知,Groovy已经有了mixins,Scala有特点。 C族有多重继承。那么为什么Java中的新功能称为“扩展方法”?它是同一个东西的另一个名称,还是有另一个原因?特质和混合有什么不同?他们添加了什么,他们缺少什么?


Personaly我将它们视为“实现方法”而不是“扩展方法”。

1 个答案:

答案 0 :(得分:7)

  

那么为什么Java中的新功能称为“扩展方法”?

AFAIK,这个命名来自C#。虚扩展方法仅适用于方法,而mixin和traits也适用于字段。

Interface evolution via virtual extension methods注意:Brian自己称之为“后卫方法”,但我认为“虚拟扩展方法”得到了更广泛的认可。

JVM Language Summit 2011 - Brian Goetz我很确定这是他谈论为什么它有这个名字的地方。