这是一个错误?
问题:我有4个课程V
,A
,B
,C
,D
。
课程E
需要扩展V
,A
,B
,D
,但如何?
Class A extends V{}
Class B extends A{} // this class extends A and V
Class D extends B{} // this class extends A , V and B
Class E extends D{} // Multiples
这是可能的,但这是正确的吗?我知道Java没有多重继承。
答案 0 :(得分:1)
在您的示例中,E
是D
的孩子,传递也是B
,A
和{{1}的后代}。这是完全合法的并且在Java中受支持。但这是不多重继承。
Java不支持类的多重继承的事实是一种不同的情况:你不能直接扩展多个类,例如:以下是Java支持 :v
或class E extends D, B
。
Java允许实现多个接口,并允许接口的多重继承,即允许以下内容:
class Child extends ParentA, ParentB
答案 1 :(得分:0)
E
考虑到您的代码示例,确实扩展了V
,A
,B
,D
。
我不确定你的问题的重点,你是否暗示你不希望它不是一个长链继承?
您可以考虑将V
,A
,B
,D
作为接口实施。
然后你可以这样做:
class E implements V, A, B, D