为什么使用接口默认方法?
学习java 8种默认方法。这个链接像互联网上的任何其他资源一样说
在“最严格的意义上”,Default方法是倒退的,因为它们允许您用代码“污染”您的接口。但它们提供了最优雅和最实用的方式来实现向后兼容性。它使 Oracle 能够更轻松地更新所有集合类,并让您更轻松地为 Lambda 改造现有代码。
我的理解是,java 8开发/设计人员在接口中提供了默认方法,因此所有实现类都不必不必要地覆盖相同的行为,从而提供向后兼容性。例如 :- 如果 ForEach 方法不是默认方法,则每个集合实现类都必须实现它。同意。
为了克服这个问题,我们可以有一个类提供这些默认方法的实现,然后实现像arraylist等类可以扩展它。通过这种方式,我们可以统计Java的基础知识,即可重用性和抽象性,即保持较少的接口污染。
我相信java 8开发人员/设计师已经考虑过这一点,因为他们学识渊博,我在这里错过了一些东西。有人可以在这里提供帮助,以便我们开发人员也可以作为这一重大变化来掌握它吗?