为什么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()方法

 

posted @ 2022-05-07 00:14  java265  阅读(49)  评论(0编辑  收藏  举报