更新時(shí)間:2022-11-02 來源:黑馬程序員 瀏覽量:
在Java中,類的繼承是指在一個(gè)現(xiàn)有類的基礎(chǔ)上去構(gòu)建一個(gè)新的類,構(gòu)建出來的新類稱為子類,現(xiàn)有類稱為父類。子類繼承父類的屬性和方法,使得子類對(duì)象(實(shí)例)具有父類的特征和行為。
在類的繼承中,需要注意一些問題,具體如下。
(1)在Java中,類只支持單繼承,不允許多重繼承。也就是說,一個(gè)類只能有一個(gè)直接父類,例如下面這種情況是不合法的。
class A{} class B{} class C extends A,B{} // C類不可以同時(shí)繼承A類和B類
(2)多個(gè)類可以繼承一個(gè)父類,例如下面這種情況是允許的。
class A{} class B extends A{} class C extends A{} // B類和C類都可以繼承A類
(3)在Java中,多層繼承也是可以的,即一個(gè)類的父類可以再繼承另外的父類。例如,C類繼承自B類,而B類又可以繼承自A類,這時(shí),C類也可稱為A類的子類。例如,下面這種情況是允許的。
class A{} class B extends A{} // B類繼承A類,B類是A類的子類 class C extends B{} // C類繼承B類,C類是B類的子類,同時(shí)也是A類的子類
(4)在Java中,子類和父類是一種相對(duì)概念,一個(gè)類可以是某個(gè)類的父類,也可以是另一個(gè)類的子類。例如,在第(3)種情況中,B類是A類的子類,同時(shí)又是C類的父類。
在繼承中,子類不能直接訪問父類中的私有成員,子類可以調(diào)用父類的非私有方法,但是不能調(diào)用父類的私有成員。