什么是繼承關系:
從面向對象的角度上說:繼承是一種從一般到特殊的關系,是一種“is a”的關系,即子類是對父類的拓展,是一種特殊的父類,比如:狗是動物的一種特殊情況,狗屬于動物。
如何表示繼承
在Java語言中,存在多個類的時候,我們使用extends關鍵字來表示子類和父類之間的關系.
- 語法格式: 在定義子類的時候來表明自己需要拓展于哪一個父類.
public class 子類類名 extends 父類類名
{
//編寫自己特有的狀態(tài)和行為
}
- Object類是Java語言的根類(老祖宗,任何類都是Object的子類.)
class Person{} 等價于 class Person extends Object{}
Object類要么是一個類直接父類,要么是一個類間接父類. - 注意:
在Java中,類和類之間的繼承關系只允許單繼承,不允許多繼承.
也就是說一個類A,只能有一個直接的父類,不能出現類A同時繼承于
類B和類C. - 繼承關系的作用:
1.解決了代碼的重復問題.
2.真正的作用,表示出一個體系.
繼承了什么
子類繼承父類之后,子類到底繼承了父類的哪些成員呢?
可以根據訪問修飾符來判斷:
- 父類中的成員使用public修飾,子類繼承.
- 父類中的成員使用protected修飾,即使父類和子類不在同一個包中.子類也繼承.
- 如果父類和子類在同一個包中,此時子類可有繼承父類中缺省修飾符的成員.
- 父類中的成員使用private修飾,子類繼承不到.因為private只能在本類中訪問.
- 父類的構造器,子類也不能繼承,因為構造器必須和當前的類名相同.