java - 为什么要创建抽象类和接口(interface)?

标签 java interface abstract-class multiple-inheritance

好吧,我本来想问有什么区别,但之前已经有人回答了。但现在我问他们为什么要做出这些差异? (我这里说的是java,不知道其他语言是不是也一样)

这两件事看起来很相似。抽象类可以定义一个方法体,而接口(interface)不能,但是可以继承多个接口(interface)。那么,为什么他们(我说的“他们”是指 Sun 编写 Java 时的意思)为什么不做一件事,您可以在其中编写一个方法体并且这种类型可以被一个类继承不止一次。

无法编写方法体或扩展我没有看到的多次是否有一些优势?

最佳答案

因为允许类继承同一方法签名的多个实现会导致一个明显的问题,即在运行时应该使用哪一个。

Java 通过仅支持接口(interface)的多重继承来避免这种情况。在每个接口(interface)中声明的签名可以更容易地组合起来(Java 基本上使用所有方法的联合)

关于java - 为什么要创建抽象类和接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370685/

相关文章:

java - 如果在远程服务器上工作,我需要 JDBC 驱动程序吗?

Java - 以 10 的批量读取大型 .text 数据文件

java - 我这样做正确吗?

java - Math.random if语句错误

typescript - 定义接口(interface) : object with unknown number and name of properties

generics - F# ICastableTo<'T> 等效吗?

c++ - 我如何在代码中创建一个抽象类,让蓝图扩展它,并将该蓝图返回给代码进行实例化?

c# - 是否可以在 C# 中将接口(interface)叠加在外部类上?

c++ - 调用未知 child 的构造函数

python - 如何创建抽象类属性(可能是只读的)