package com.oop.demo05;//在java中所有的類都直接或者間接預設繼承object//人 父類public class Person { //public 公有的 //protected 受保護的 //default 預設的 //private 私有的 //private in ...
轉自:
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()方法