【问题标题】:java 7 alternative to default methods in interface (only in Java 8)java 7 替代接口中的默认方法(仅在 Java 8 中)
【发布时间】:2016-06-10 09:13:47
【问题描述】:

我想在我的一个接口类中使用默认方法 - 然后我意识到这仅在 Java 8 中可用 - 我们正在使用 Java 7。

在 Java 7 中实现类似的最佳方法是什么?

【问题讨论】:

  • 什么是大局,为什么需要默认方法?
  • 改用抽象类。
  • 因为我不想更改很多类...我猜是添加默认方法的原因
  • @NottmTony 在默认方法之前没有明智的接口演变方式。抽象类或仅为新方法创建附加接口是人们使用的解决方法的两个示例。
  • @biziclop - 谢谢 - 可能会添加另一个界面 - 仍在考虑中......

标签: java


【解决方案1】:

让你的方法在接口中签名,就像在 Java 8 中一样。
将您的方法默认实现放在实现该接口的抽象类中。
在扩展该抽象类的类中最终实现您的方法。

现在您必须意识到,它仍然与拥有 Java 8 接口的默认方法不同,特别是因为您不能扩展多个抽象类,而您可以使用它们的默认方法实现多个接口。

【讨论】:

    【解决方案2】:

    在 java 7 中你只有一个选项,使用抽象类。

    【讨论】:

      猜你喜欢
      • 2018-01-28
      • 1970-01-01
      • 2019-11-14
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      相关资源
      最近更新 更多