好吧,我本来想问有什么区别,但之前已经有人回答了。但现在我问他们为什么要做出这些差异? (我这里说的是java,不知道其他语言是不是也一样)
这两件事看起来很相似。抽象类可以定义一个方法体,而接口(interface)不能,但是可以继承多个接口(interface)。那么,为什么他们(我说的“他们”是指 Sun 编写 Java 时的意思)为什么不做一件事,您可以在其中编写一个方法体并且这种类型可以被一个类继承不止一次。
无法编写方法体或扩展我没有看到的多次是否有一些优势?
最佳答案
因为允许类继承同一方法签名的多个实现会导致一个明显的问题,即在运行时应该使用哪一个。
Java 通过仅支持接口(interface)的多重继承来避免这种情况。在每个接口(interface)中声明的签名可以更容易地组合起来(Java 基本上使用所有方法的联合)
关于java - 为什么要创建抽象类和接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370685/