Javainheritance:如何在Java中不允许实现类似于“多重inheritance”的东西?

这是一个主要关于Javainheritance的问题。 我正在开发一个有2个窗口的程序,这两个窗口都将在不同的类中开发,这些窗口将扩展JPanel。 第一个类是“FileSub1”,第二个类是“FileSub2”。

这两个类有很多共同的方法,所以我想创建一个名为“Files”的类,并将“FileSub1”和“FileSub2”作为其子类。 但是Java不支持多重inheritance! 我能在这做什么?

我不明白你为什么需要多重inheritance。 据我所知,你可以使用一个实现常用方法的抽象基类:

 public abstract class AbstractFilePanel extends JPanel { public void commonMethod1() {} } public class FileSub1 extends AbstractFilePanel { public void sub1Method() {} } public class FileSub2 extends AbstractFilePanel { public void sub2Method() {} } 

首选组合而不是inheritance

在JPanel子类中包含FileThing,而不是将其作为FileThing JPanel。

你可以这样做

 public class Files extends JPanel{ } public class FileSub1 extends Files{ } public class FileSub2 extends Files{ }