类扩展多个类 Java?

我知道一个类可以实现多个接口,但是是否可以扩展多个类?例如,我希望我的类同时扩展两者以及我创建的类。这在Java中可能吗?两个语句都收到错误。如果这是不可能的,为什么? 扩展,但我想它也扩展,因为它从中继承字段,并且可以在需要对象的地方传递。此外,像Java中的所有类一样,它们扩展了类。那么,为什么不能使用多个类进行扩展呢?TransformGroupclass X extends TransformGroup extends Yclass X extends TransformGroup, YTransformGroupGroupNodeNodeNodeObject

转换组继承

那么,如果可能的话,正确的方法是什么?如果没有,我为什么要以及如何解决问题?


答案 1

在 Java 中,不允许多重继承。作为设计决策,它被排除在语言之外,主要是为了避免循环依赖关系。

方案 1:正如你所了解到的,在Java中不可能实现以下操作:

public class Dog extends Animal, Canine{

}

方案 2:但是,以下情况是可能的:

public class Canine extends Animal{

}

public class Dog extends Canine{

}

这两种方法的区别在于,在第二种方法中,有一个明确定义的父级或类,而在第一种方法中,类是模棱两可的。supersuper

考虑两者是否有方法。在第一种情况下,如果我们调用,将调用哪个父方法?在第二种情况下,我们知道调用会调用class方法,只要没有重写它。AnimalCaninedrink()Dog.drink()Dog.drink()CaninedrinkDog


答案 2

不,这在java中是不可能的(也许在java 8中它是可行的)。除了在树中扩展时的情况。例如:

class A
class B extends A
class C extends B

推荐