关于java:我应该何时何地使用接口

When and where should I use an interface

本问题已经有最佳答案,请猛点这里访问。

我应该在何时何地使用接口?


当您想将完成的工作(方法签名定义)与完成的方式(方法实现)分开时。当您有可能以不同的方式实现的操作时,这是很常见的,但是用户会承认所有操作都有一个通用的抽象。

有关示例,请参见java.util.collection包。java.util.list接口有几种实现,但方法签名是相同的。


当需要定义行为但不提供实现时,请使用接口。


  • 奇怪的是,没有人提到"合同"这个词(尽管前面的答案描述了它)。例如,请参见:Java接口-合同中到底是什么?实现接口的所有类都实现该接口的契约。这个合同通常是客户唯一需要知道的似乎不同的类。

  • 当然还有多态性,这是一种非常方便的同时处理实现接口的所有类的方法。您只需使用一个父类型(接口的类型)编写代码。


  • 也许从这里开始?接口的目的(续)