4

这是关于 oop 中接口的唯一问题,我似乎无法完全解释。再说一遍,为什么在 oop 中一个类可以实现多个接口?

如果你能提供一些例子,那就太好了。提前致谢。

4

4 回答 4

10

概念示例

我认为多个接口的方式是接口就像动词或形容词,类就像主语。

老虎可以跑,所以Tiger class可以实现Runnable Interface

老虎可以吃,所以Tiger class可以实施Eatable Interface

因为类的一个实例可以有不同的行为,我们可以有不同的对应接口。

现实例子

java.util Class HashMap<K,V>

它实现Serializable, Cloneable, Map<K,V>

所有的接口都是HashMap类的特性。

于 2013-05-29T06:59:48.263 回答
1

首先是java不支持多重继承,因此你不能同时扩展两个类。但是,java 支持多个接口的实现。Mingyu给出的例子对我来说似乎很完美。

于 2013-05-29T07:06:23.953 回答
1

接口本质上是抽象的(当然不是根据定义,只是说),因此所有方法都必须在具体的子类中实现,这样我们就避免了致命的死亡钻石,以一种本身就是答案的方式支持多重继承允许多个接口实现。

还有许多其他用途,但由于上述解释,没有任何其他理由限制多重实现的概念......据我所知。

于 2016-07-05T10:01:38.677 回答
-1

Java 类不能扩展多个类,因为菱形 ♦ 问题。Diamond ♦ 问题是由于构造函数链接而发生的。构造函数不存在于接口中,因此如果我们实现多个接口,不会出现菱形 ♦ 问题。这就是Java类可以实现多个接口的原因。

于 2016-07-29T20:49:02.370 回答