3

这是一个很难的。我在论坛上读过这个问题,但没有人能给出满意的答案。

来自 C++ 背景,有人告诉我 Java 通过接口实现多重继承。继承的主要目的之一恰好是“代码重用”。

多年来,我一直在尝试了解接口的使用。我一直不明白接口是否实现了代码重用。如果是,那么如何?请给出一个很好的代码示例来证实这一点。

我已经明白接口是:

  1. 用于指定合同。
  2. 用于指定额外的角色,类扮演的行为。
  3. 用于实现“多态性”,(例如:像 addKeyListener(KeyListener e) 这样的方法可以接受任何实现 KeyListener 作为参数的类(使其成为 KeyListener 类型),即使它不在 KeyListener 的继承层次结构中。

但是在代码重用的情况下它有什么用,当我需要自己为具体方法添加代码时......我也可以省略实现接口。

那么接口如何实现代码的可重用性(如果有的话)?

4

1 回答 1

0

来自 C++ 背景,有人告诉我 Java 通过接口实现多重继承。继承的主要目的之一恰好是“代码重用”。

不,Java 只是没有实现多重继承。接口是 Java 最接近多重继承的方式,但它实际上不是继承,而且它不会像继承那样产生代码重用。

它可以为您节省一些代码的地方是您可以以相同的方式使用所有实现,而不必复制调用代码。

于 2012-09-08T11:18:07.927 回答