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

2022年4月12日 18点热度 0条评论 来源: java265

转自:

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

 

    原文作者:java265
    原文地址: https://www.cnblogs.com/java265/p/16222549.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。