Java:多重继承的替代方案
我有一个a类必须扩展B类和C类,这两个类都是由第三方提供的,我无法控制它们。因为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作为一个内部类,但它不能很好地工作,因为我实际上需要类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.