我仍然不熟悉Java中的接口。我知道该接口告诉哪些方法应该有实现该接口的类。但是有什么意义呢?为什么要使用它?是不是更容易创建实现接口而不是接口实例的类的实例?或者重要的是我错过了什么?
答案 0 :(得分:2)
尝试阅读“编程到界面”和“控制反转”。
答案 1 :(得分:1)
Java不支持多重继承,但它允许单个类实现多个接口。
这使得可以根据类应该满足的预期“契约”来定义功能,即“它必须是可枚举的,它必须是可序列化的,等等”,而不是“它必须是这种特定类型” ”
答案 2 :(得分:1)
许多人使用接口来定义抽象类 - 类的所有成员,没有显式实现。坦率地说,我没有看到很多价值。
我更喜欢使用接口来做两件事之一:
第二个是,我认为,更有趣,可能值得更多解释。您可能会编写一个需要加载或保存某些数据的类。您可以声明一个具有您希望能够调用的方法的接口,而不是直接与您将使用的任何数据存储进行对话。
然后,实现一个具有这些方法的类(实现该接口),并将其传递给想要它的类。
这为您提供了良好的抽象和责任分离。
答案 3 :(得分:1)
接口本质上是一个契约,保证给定的类具有列出的方法集。
这允许您只是说您有一个恰好需要“列出” - 契约的对象,因此您知道您有例如一个“size()”和一个“add(...)”方法,然后你可以调用它。
这可能会让您在简单的界面背后隐藏大量的复杂性。想想JDBC Connections ......