Java多重继承的特殊问题



我有以下情况:

我需要我的类,比如说A来扩展JComponent,而另一个类,比如B

现在,我知道多重继承在java中是不可能的,实现这一点的正确方法是实现BInterface,这将使我能够访问B中的所有方法。

问题是类B包含大约15个方法,在A中,我只需要重写其中的2个方法,以及所有其他方法就可以使用"super"实现。

问题是:有没有一种可能的方法可以做到这一点,而不必在A内部实现B中的所有方法?

注意:我并没有试图给我的代码增加太多的复杂性,如果这个问题的"解决方法"违反了oop编程原则,那么我应该更好地重新设计我的代码。

正如您所说,java中不支持多重继承。但一般来说,使用组合而不是继承是一种很好的做法。在这里阅读

您可以使用java8功能的默认实现

  1. 创建一个名为ABinterface的接口。提供所有13种方法作为默认手段具有定义和声明2个方法(如抽象方法(。

  2. 类A和B将实现ABinterface,并根据他们的需要。

  3. 将扩展jsComponent并实现ABInterface的类A可以访问所有其他现有的13种方法也是如此。

    您在此查询中没有提供足够的信息。所以你需要根据在实现这一点之前,请先使用oops概念了解真实的单词场景。

    您也可以使用组合而不是继承

最新更新