Java:多重继承的替代方案

Java:多重继承的替代方案,java,inheritance,interface,abstract-class,multiple-inheritance,Java,Inheritance,Interface,Abstract Class,Multiple Inheritance,我有一个a类必须扩展B类和C类,这两个类都是由第三方提供的,我无法控制它们。因为Java不支持多重继承。在我的情况下,使用接口没有帮助,因为我确实希望继承基类的实现,并且不希望将它们的代码复制到我的类中,否则我需要知道它们即将发生的所有更改 实现这一需求的最佳方式是什么 所有建议将不胜感激 谢谢你的回复!这和我做的有点相似。我让类A扩展了B,并将类C作为一个内部类,但它不能很好地工作,因为我实际上需要类A是B,是C。这可能吗?你可以在类A中使用C asC()方法,所以如果你需要将A传递给需要C的

我有一个a类必须扩展B类和C类,这两个类都是由第三方提供的,我无法控制它们。因为Java不支持多重继承。在我的情况下,使用接口没有帮助,因为我确实希望继承基类的实现,并且不希望将它们的代码复制到我的类中,否则我需要知道它们即将发生的所有更改

实现这一需求的最佳方式是什么


所有建议将不胜感激

谢谢你的回复!这和我做的有点相似。我让类A扩展了B,并将类C作为一个内部类,但它不能很好地工作,因为我实际上需要类A是B,是C。这可能吗?你可以在
类A
中使用
C asC()
方法,所以如果你需要将
A
传递给需要
C
的人,就传递
A.asC()
对其进行修改。为什么不使用组合而不是继承?在a中有一个C和一个B
class A

    class B2 extends B

        inherit B's stuff

    class C2 extends C

        inherit C's stuff

    B2 b2 = new B2();
    C2 c2 = new C2();
    // or use anonymous classes

    A has access to everything in B2 and C2,
    therefore A has access to B and C's inheritable assets.