java基礎(chǔ)(繼承基礎(chǔ)1)

1.繼承的基本概念及實現(xiàn)

  • 定義:一個類從已有的類那里獲得其已有的屬性和方法,這種現(xiàn)象叫做類的繼承。
    這個新類叫做子類,也叫做派生類;已有的那個類叫做父類,也叫做基類。
  • 意義:
    代碼得到了極大的重用。
    形成一種類的層次體系機構(gòu)。
    為多態(tài)創(chuàng)造條件。
  • 繼承的實現(xiàn)(extends關(guān)鍵字和implements)
    extends:在 Java 中,類的繼承是單一繼承,所以 extends 只能繼承一個類。
    implements:使用 implements 關(guān)鍵字可以變相的使java具有多繼承的特性,使用范圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗號分隔)。
class Human
{
    public int age;
    public String name;
}

class Student extends Human
{
    public double score;
}

public interface A 
{
    public void eat(); 
}
 
public interface B 
{
    public void sleep();
}
 
public class C implements A,B 
{
}

2.繼承權(quán)限問題

  • 同包:父類的私有成員不可以被子類繼承,其他的成員都可以被子類繼承。
    注意:父類的所有成員物理上都被繼承過來了,但私有成員在邏輯上不可以被訪問,因此繼承的時候必須慎重,否則會浪費內(nèi)存。(如果隨意的繼承會導(dǎo)致子類非常臃腫,創(chuàng)建子類對象時占用極大的空間)

3.繼承的原則

  • 何時選擇繼承?
    B是一個A嗎?
    如果是則讓B做A的子類。
  • 繼承必須是同種類型間繼承,反映的是從一般到特殊的關(guān)系。
  • 常見錯誤:汽車輪子成為汽車子類是錯誤的。(原因:汽車輪子不是汽車)

4.Java只支持單繼承,不允許多繼承

  • 單繼承:一個子類只能有一個父類
    多繼承:一個子類可以有多個父類(只有C++允許多繼承)
  • 可以有多重繼承,如類B繼承類A,類C繼承類B,那么類C間接繼承了類A
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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