Pau*_*aul 8 java abstract-class interface multiple-inheritance
好吧,我打算问一下有什么区别,但之前已经回答了.但现在我问他们为什么会产生这些差异呢?(我在这里讲的是java,我不知道是否同样适用于其他语言)
这两件事看起来非常相似.抽象类可以定义方法体,而接口则不能,但可以继承多个接口.那么他们为什么不(他们'我们的意思是Sun,当他们编写Java时)做了一件事情,你可以编写一个方法体,这种类型可以被一个类不止一次地继承.
没有能够编写方法体,或者延伸多次,我没有看到它有什么优势吗?
Chr*_*bek 10
因为允许类继承同一方法签名的多个实现会导致一个明显的问题,即应该在运行时使用哪个.
Java通过仅支持接口的多重继承来避免这种情况.每个接口中声明的签名可以更容易组合(Java基本上使用所有方法的并集)