java為什么沒有多繼承?這個問題可能是我們?nèi)粘W習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、網(wǎng)站建設、百色網(wǎng)絡推廣、小程序定制開發(fā)、百色網(wǎng)絡營銷、百色企業(yè)策劃、百色品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供百色建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:muchs.cn
Java只支持單繼承,不允許多重繼承,單繼承就是一個類只能有一個父類,多繼承就是一個類可以有多個父類。
Java可以有多層繼承,即一個類可以繼承某一個類的子類,如:類B繼承了類A,類C又可以繼承類B,那么類C也間接繼承了類A
子類可以繼承父類所有的成員變量和方法,但子類永遠無法繼承父類的構造方法。在子類的構造方法中可使用語句super(參數(shù)列表)調(diào)用父類的構造方法。
類定義屬性和方法、描述某一類事物的抽象
按照邏輯上來說,單繼承更明確 一個子類就應該是其父類代表的事物中的某個更具體的類別,不應該即是這種東西又是那種東西
而從實用角度上來說,單繼承易讀、易維護、語義清晰、邏輯清楚
多繼承造成的問題。鉆石危機:
A foo() / \ / \ B foo() C foo() \ / \ / D foo()
假設類A中有一個public方法fun(),然后類B和類C同時繼承了類A,類B或類C中各自對fun()進行了覆蓋,這時類D通過多繼承同時繼承了類B和類C,這樣便導致鉆石危機了,程序在運行的時候對應方法fun()該如何判斷?
class A{ public void foo(){ } } class B extends A{ public void foo(){ } } class C extends A{ public void foo(){ } } //Not allowed here. public class D extends B, C{ public void foo(){ } }
(1)如果在一個子類繼承的多個父類中擁有相同名字的實例變量,子類在引用該變量時將產(chǎn)生歧義,無法判斷應該使用哪個父類的變量。
(2)如果在一個子類繼承的多個父類中擁有相同方法,子類中有沒有覆蓋該方法,那么調(diào)用該方法時將產(chǎn)生歧義,無法判斷應該調(diào)用哪個父類的方法。
感謝各位的閱讀!看完上述內(nèi)容,你們對java為什么沒有多繼承大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關文章內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:java為什么沒有多繼承
本文鏈接:http://muchs.cn/article8/jioiip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站建設、面包屑導航、App設計、網(wǎng)站設計、云服務器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)