Java:如果我们必须自己实现抽象方法,那么实现多个接口如何实现多重继承?

Java:如果我们必须自己实现抽象方法,那么实现多个接口如何实现多重继承?,java,inheritance,interface,Java,Inheritance,Interface,我不明白当我们必须自己实现抽象方法时,如何使用iterface实现多重继承 如果我有 class A implements B,C{ public void B() {//method of interface B implemented} public void C() {//method of interface C implemented} } 我们可以这样做 class A{ public void B() {//method of interface B implemented

我不明白当我们必须自己实现抽象方法时,如何使用iterface实现多重继承

如果我有

class A implements B,C{

public void B()
{//method of interface B implemented}

public void C()
{//method of interface C implemented}
}
我们可以这样做

class A{

public void B()
{//method of interface B implemented}

public void C()
{//method of interface C implemented}
}

我不明白,如果我们没有现成的方法,它有什么用处,在什么情况下,它有什么用处?有人能举例说明吗?谢谢

好消息!在Java 8+中,接口可能具有:;因此,您可以在接口中提供一个实现

interface B {
    default void B() {
        System.out.println("In the interface method");
    }
}

多个接口允许您将给定对象视为许多不同的事物,所有这些都具有类型安全性

如何真正为对象的每个“方面”实现正确的行为取决于您


C++允许您在实现行为方面获得帮助,但代价是更复杂的对象模型。

这些接口是用于,而不是用于。它不能用于代码重用,只用于创建类型层次结构(实际上,它可以用于java 1.8以来的代码重用,但我认为只有在没有其他可接受的解决方案时才使用专家特性)。 实现继承是实现代码重用的一种方法——只编写一次代码并在所有子类中使用它。还有其他方法可以实现这一点,请参阅其中一种方法

子类型化/多态性不是关于重用代码,而是关于能够以相同的方式处理不同的类


例如,
java.util.LinkedList
实现了
java.util.List
(允许它用作列表)和
java.util.Deque
(允许它用于需要堆栈/队列的地方)。

它不能用于代码重用,只能用于创建类型层次结构,我不明白这意味着什么?顺便说一句,你的答案肯定很有帮助。@spectre编辑了答案,试图澄清。请询问您是否需要进一步澄清,但如果尚未阅读链接的wiki页面,请先阅读。