学习java 8的默认方法。 这link像互联网上的任何其他资源说为什么接口默认方法?
在“严格意义上的”,默认的方法是一种倒退,因为 它们允许你“污染”的接口的代码。但他们 提供了最优雅和实用的方式,以允许向后兼容 。它使Oracle更容易地更新所有 集合类,并为您更新现有的代码 Lambda。
我的理解是Java 8开发/设计者在接口中提供的默认方法,使得所有执行类没有不必要地 倍率相同的行为,因此,提供向后兼容性。例如: - 如果ForEach方法不是默认方法,则每个实现类的集合都必须实现它。同意。
为了克服这一点,我们可以有一个类提供这些默认方法的实现,然后实现像arraylist等类可以 已经扩展了。通过这种方式,我们可以确定java的基本原则,即可重用性和抽象性,即保持接口污染更少
我相信java 8 dev/designer已经考虑过了,因为它们更加了解,我在这里错过了一些东西。有人可以在这里帮助,以便我们的开发人员也可以在这个重大变化之上做到最重要?
[Java 8中默认或Defender方法的用途]的可能重复(http://stackoverflow.com/questions/19998309/purpose-of-default-or-defender-methods-in-java-8) – roottraveller