> 文档中心 > 为什么java代码设计为不支持类多继承

为什么java代码设计为不支持类多继承

下文笔者讲述Java语言设计为不能同时继承多个类的原理,如下所示:

我们都知道类中方法的实现,加入两个类中有同名同参方法

一个子类继承两个父类,使用super调用方法时,就无从知道到底是哪一个父类中的方法,此时就出现混乱

设计为不支持同时继承多个类的原因为:   1.当可同时继承多个类,则会出现有时运行方法时,不知道运行哪一个方法   2.类型转换,构造函数的运行顺序都会出现问题
class A extends B,C{ public void testFun(){super.t();    }    public A(){      super();//此时无法界定先运行B,还是C的构造方法    }}当B和C中都有t方法时,此时运行super.t()我们将无法得知运行的是B类中的t()还是C类中t()方法