为什么java代码设计为不支持类多继承
转自:
http://www.java265.com/JavaMianJing/202205/16516711843274.html
下文笔者讲述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()方法