【发布时间】:2010-11-02 15:34:46
【问题描述】:
我应该在何时何地使用接口?
【问题讨论】:
-
如果您需要...
-
Tuhin,这听起来像是功课。如果您只搜索“java 接口”或“何时使用 java 接口”,网络上有大量资源。
标签: java
我应该在何时何地使用接口?
【问题讨论】:
标签: java
当您想定义行为但不提供实现时,请使用接口。
【讨论】:
当您想要将完成的内容(方法签名定义)与完成的方式(方法实现)分开时。当您有可能以不同方式实现的操作时,这很常见,但用户会承认所有这些操作都有一个共同的抽象。
有关示例,请参见 java.util.Collection 包。 java.util.List 接口有多种实现方式,但方法签名相同。
【讨论】:
奇怪的是没有人提到“合同”这个词(尽管前面的答案描述了它)。参见例如: Java interfaces - What exactly is in the contract? 所有实现接口的类都履行该接口的约定。这份合同通常是客户需要了解的关于看似不同的类别的唯一信息。
当然还有 - 多态性,这是一种非常方便的方法,可以同时处理实现接口的所有类。您只需使用一种超类型(接口类型)编写代码。
【讨论】:
也许从这里开始? The purpose of interfaces continued
【讨论】: