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

3 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}
}
Run Code Online (Sandbox Code Playgroud)

我们可以做到这一点

class A{

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

public void C()
{//method of interface C implemented}
}
Run Code Online (Sandbox Code Playgroud)

如果我们没有获得现成的方法,在什么情况下如何有用,我不知道它是如何有用的?有人可以用一个例子解释一下吗?谢谢 !!

Jir*_*sek 5

接口用于子类型,而不是实现继承.它不能用于代码重用,仅用于创建类型层次结构/用于多态(事实上​​,它可以用于Java 1.8之后的代码重用,但我认为只有在没有其他可接受的解决方案时才能使用专家功能) .

实现继承是实现代码重用的一种方法 - 只编写一次代码并在所有子类中使用它.还有其他方法可以实现这一点,请参阅一种此类方法的首选组合优先继承.

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

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