5

これは主に Java 継承に関する質問です。JPanel を拡張する別のクラスで開発される 2 つのウィンドウを持つプログラムを開発しています。最初のクラスは「FileSub1」で、2 番目のクラスは「FileSub2」です。

この 2 つのクラスに共通するメソッドがたくさんあるので、「Files」というクラスを作成し、「FileSub1」と「FileSub2」をそのサブクラスにしたいと思います。しかし、Java は多重継承をサポートしていません! ここで何ができますか?

4

3 に答える 3

16

継承より合成を優先

FileThingJPanel を作成する代わりに、JPanel サブクラスに FileThing を含めます。

于 2012-06-01T17:21:50.513 に答える
13

多重継承が必要な理由がわかりません。私が知る限り、一般的なメソッドを実装する抽象基本クラスで問題ないはずです。

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() {}
}
于 2012-06-01T17:18:48.930 に答える
3

以下のようにできます

public class Files extends JPanel{
}

public class FileSub1 extends Files{
}

public class FileSub2 extends Files{
}
于 2012-06-01T17:22:25.330 に答える