A More Practical Example of a Default Method

💡 原文约300字/词,阅读约需2分钟。
📝

内容提要

文章讨论了在接口 Series 中添加默认方法 getNextArray(int n) 的好处。这个方法通过现有的 getNext() 实现,不会破坏旧代码。默认方法允许接口演变并提供可选功能,类可以选择覆盖但不强制,代码更简洁。

🎯

关键要点

  • 文章讨论了在接口 Series 中添加默认方法 getNextArray(int n) 的好处。
  • 接口 Series 被广泛使用,许多程序依赖于它。
  • 多个 Series 的实现添加了返回下一个 n 个元素数组的方法。
  • 决定通过 getNextArray(int n) 方法改进接口 Series,n 指定要检索的元素数量。
  • 在没有默认方法之前,添加此方法会破坏现有代码。
  • 有了默认方法,可以在不影响现有代码的情况下向接口 Series 添加新方法。
  • 某些情况下,添加的默认方法可能会报告错误,无法在所有情况下提供有效实现。
  • 默认方法定义了可选代码,某些情况下可以在任何情况下工作。
  • getNextArray() 方法可以通过现有的 getNext() 方法实现。
  • 实现 Series 的任何类都可以使用 getNextArray(),无需覆盖该方法。
  • 添加 getNextArray() 不会使现有代码失效。
  • 类可以根据需要提供自己的 getNextArray() 实现。
  • 默认方法的优势包括允许接口演变而不使现有代码失效,提供可选功能而不强制实现。
  • 对于 getNextArray(),如果实现不需要该方法,则无需提供占位符实现,从而使代码更简洁。
➡️

继续阅读