Java のクラスは、厳密に 1 つのクラスから継承できます (基底クラスを指定しない場合、それは ですjava.lang.Object
)。3 つのクラスから継承する唯一の方法は、チェーン内で相互に継承する場合です。
class A {}
class B extends A {}
class C extends B {}
class D extends C {}
あなたのクラスは、、およびD
を継承していますが、これがあなたが探していたものであるとは思えません。A
B
C
Java での慣用的な解決策は、複数のクラスを継承するのではなく、複数のインターフェースを実装することです。実装を「継承」する必要がある場合は、継承の代わりに合成を使用してください。
interface IA {}
interface IB {}
interface IC {}
class A implements IA {}
class B implements IB {}
class C implements IC {}
class D implements IA, IB, IC {
A a = ...;
B b = ...;
C c = ...;
// Implementations of methods from IA, IB, and IC
// need to forward the calls to a, b, and c
}