Java面向?qū)ο?-繼承

什么是繼承關(guān)系:

從面向?qū)ο蟮慕嵌壬险f:繼承是一種從一般到特殊的關(guān)系,是一種“is a”的關(guān)系,即子類是對父類的拓展,是一種特殊的父類,比如:狗是動(dòng)物的一種特殊情況,狗屬于動(dòng)物。

如何表示繼承

在Java語言中,存在多個(gè)類的時(shí)候,我們使用extends關(guān)鍵字來表示子類和父類之間的關(guān)系.

  • 語法格式: 在定義子類的時(shí)候來表明自己需要拓展于哪一個(gè)父類.
public  class  子類類名    extends    父類類名
{
         //編寫自己特有的狀態(tài)和行為
}
  • Object類是Java語言的根類(老祖宗,任何類都是Object的子類.)
    class Person{} 等價(jià)于 class Person extends Object{}
    Object類要么是一個(gè)類直接父類,要么是一個(gè)類間接父類.
  • 注意:
    在Java中,類和類之間的繼承關(guān)系只允許單繼承,不允許多繼承.
    也就是說一個(gè)類A,只能有一個(gè)直接的父類,不能出現(xiàn)類A同時(shí)繼承于
    類B和類C.
  • 繼承關(guān)系的作用:
    1.解決了代碼的重復(fù)問題.
    2.真正的作用,表示出一個(gè)體系.

繼承了什么

子類繼承父類之后,子類到底繼承了父類的哪些成員呢?
可以根據(jù)訪問修飾符來判斷:

  • 父類中的成員使用public修飾,子類繼承.
  • 父類中的成員使用protected修飾,即使父類和子類不在同一個(gè)包中.子類也繼承.
  • 如果父類和子類在同一個(gè)包中,此時(shí)子類可有繼承父類中缺省修飾符的成員.
  • 父類中的成員使用private修飾,子類繼承不到.因?yàn)閜rivate只能在本類中訪問.
  • 父類的構(gòu)造器,子類也不能繼承,因?yàn)闃?gòu)造器必須和當(dāng)前的類名相同.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容