Java不允许多重继承,但是它允许实现多个接口。为什么?
在Java中,不允许多重继承,但是在Java8之后,接口可以有默认方法(可以实现方法本身),就像抽象类一样。在此上下文中,还应该允许it多重继承。
问题内容: 我知道Java和C#中不允许多重继承。许多书只是说,不允许多重继承。但是可以通过使用接口来实现。没有任何关于为什么不允许它的讨论。谁能确切告诉我为什么不允许这样做? 问题答案: 简短的答案是:因为语言设计师决定不这样做。 基本上,.NET和Java设计器似乎都不允许多重继承,因为他们认为添加MI会增加语言的复杂性,而带来的好处却很少。 要获得更有趣和深入的阅读,Web上提供了一些文章,
我们知道在面向对象编程的时候,比如Bird既有叫的功能,又有飞的功能,可以通过继承Animal和实现飞的接口的功能实现: 问题1: 为什么很多不使用多继承?而是选择继承类+实现接口? 这个有什么好处? 如果还有其他类的功能比如: 问题2: Bird想要继承吃素的功能,请问这个如何进行实现呢?就不能进行继承了对吗?
“为什么多重继承在java中是不可能的?”与“为什么java中不支持多重继承”这个问题有什么不同吗?或者两者是相互关联的。我知道这已经得到了回答,只是在寻找一个不同的地方,如果有的话,而不是为什么的答案。
我试图了解使用接口的好处是什么,以便我可以知道何时以及如何使用它们。互联网上的大多数资源都是相对表面的,解释了接口是如何工作的,但现在为什么要使用它们,当我查找名义上的问题时,我没有得到任何结果告诉我接口的目的是否超出了多态性和多重继承。 我的推理是,如果一个接口只被一个类继承,它将是无用的,当一个接口被多个类继承时,它没有区别,除非它用于多态,唯一使实现不同于扩展的是多重继承。 如果我确实知道他
问题内容: 在Java中,所有类都隐式地扩展了Object类,除此之外,最多只能继承一个类。就像这样,是隐式地Java允许我们扩展2个类,还是Java遵循的其他逻辑? 问题答案: 您的类扩展了另一个类,但它也扩展了Object,因此您仍然处于继承的一行,而不是两行。