如何在Java中实现多重继承

Sai*_*ira 2 java multiple-inheritance

我正在使用Java中的某个API库.它有一个基类A,以及B和C,它们都扩展了A. B&C提供了类似但不同的功能,所有三个类都在库中.

public abstract class A
{
    virtual foo();
}

public class B extends A {}
public class C extends A {}
Run Code Online (Sandbox Code Playgroud)

我如何获得的元素A,B以及C在我的课?如果我使用的接口来实现的类,有很多重复的代码,内部类不会允许,这样的调用接口,我重写现有的方法A,B以及C将被保留.

如何在Java中实现多重继承?

编辑:感谢编辑George,现在更清楚了,忘了提一个关键要求:我的类必须以A为基础,以便它们可以通过平台API进行管理.

vul*_*ino 14

回顾一下,你有:

class A
{
    public void foo() {}
}

class B extends A
{
    public specificAMethod() {}
}

class C extends A
{
    public specificCMethod() {}
}
Run Code Online (Sandbox Code Playgroud)

上述类位于您无法访问或修改的库中.您希望在第三个类D中获得B和C的行为,就好像它可以写:

class D extends B, C
{
}
Run Code Online (Sandbox Code Playgroud)

对?

那么使用B和C而不是继承呢?你真的需要继承吗?你想调用私人B和C方法吗?

class D
{

private B b;
private C c;
}
Run Code Online (Sandbox Code Playgroud)

  • 更喜欢作文而不是继承! (5认同)