これは主に Java 継承に関する質問です。JPanel を拡張する別のクラスで開発される 2 つのウィンドウを持つプログラムを開発しています。最初のクラスは「FileSub1」で、2 番目のクラスは「FileSub2」です。
この 2 つのクラスに共通するメソッドがたくさんあるので、「Files」というクラスを作成し、「FileSub1」と「FileSub2」をそのサブクラスにしたいと思います。しかし、Java は多重継承をサポートしていません! ここで何ができますか?
これは主に Java 継承に関する質問です。JPanel を拡張する別のクラスで開発される 2 つのウィンドウを持つプログラムを開発しています。最初のクラスは「FileSub1」で、2 番目のクラスは「FileSub2」です。
この 2 つのクラスに共通するメソッドがたくさんあるので、「Files」というクラスを作成し、「FileSub1」と「FileSub2」をそのサブクラスにしたいと思います。しかし、Java は多重継承をサポートしていません! ここで何ができますか?
FileThingとJPanel を作成する代わりに、JPanel サブクラスに FileThing を含めます。
多重継承が必要な理由がわかりません。私が知る限り、一般的なメソッドを実装する抽象基本クラスで問題ないはずです。
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() {}
}
以下のようにできます
public class Files extends JPanel{
}
public class FileSub1 extends Files{
}
public class FileSub2 extends Files{
}