我应该何时何地使用界面?
答案 0 :(得分:4)
如果要定义行为但不提供实现,请使用接口。
答案 1 :(得分:4)
当您想要完成的工作(方法签名定义)与完成方式(方法实现)分开时。当您有可能以不同方式实现的操作时,这很常见,但用户会承认所有这些操作的公共抽象。
有关示例,请参阅java.util.Collection包。 java.util.List接口有几个实现,但方法签名是相同的。
答案 2 :(得分:2)
奇怪的是没有人提到“合同”这个词(尽管前面的答案描述了它)。参见例如: Java interfaces - What exactly is in the contract? 实现接口的所有类都满足该接口的合同。这份合同通常是客户需要了解的看似不同的课程。
当然还有 - 多态,这是一种非常方便的方式来同时处理实现接口的所有类。您只需使用一种超类型 - 接口的类型来编写代码。
答案 3 :(得分:1)
也许从这里开始? The purpose of interfaces continued