java筆記--繼承extends

繼承的好處:

1 提高了代碼的復(fù)用性
2 讓類與類之間產(chǎn)生了關(guān)系,給第三個特征多態(tài)提供了前提

java中支持單繼承仲锄,不直接支持多繼承布朦,但對C++中的多繼承機制進行改良。

單繼承:一個子類只能有一個直接父類
多繼承:一個子類可以有多個直接父類(java中不允許昼窗,對C++的多繼承進行改良)不直接支持是趴,因為多個父類中有相同成員,會產(chǎn)生調(diào)用不確定性在java中是通過“多實現(xiàn)”的方式來體現(xiàn)

java支持多層(多重)繼承

C繼承B澄惊,B繼承A
就會出現(xiàn)繼承體系唆途。

當(dāng)要使用一個繼承體系時,
1 查看該體系中的頂層類掸驱,了解該體系的基本功能肛搬。
2 創(chuàng)建體系中的最子類對象,完成功能的使用毕贼。

什么時候定義繼承呢温赔?

當(dāng)類與類之間存在著所屬關(guān)系的時候,就定義繼承鬼癣。xxx是yyy中的一種陶贼,xxx extends yyy

所屬關(guān)系:is a 關(guān)系

在子父類中啤贩,成員的 特點體現(xiàn)為

1 成員變量
2 成員函數(shù)
3 構(gòu)造函數(shù)

成員變量:

父類:

public class Fu {
//int num1=4;
    int num=4;
}

子類:

/*
 當(dāng)本類的成員和局部變量同名用this區(qū)分
 當(dāng)子父類中的成員變量同名用super區(qū)分父類 
 
 this和super的用法很相似。
 
 this:代表一個本類對象的引用
 super:代表一個父類的空間
 
 子類不能直接訪問父類私有的內(nèi)容
 */
public class Zi extends Fu {
    int num=9;
    
     int num1=5;
    
    void show(){
        System.out.print(this.num+"....."+super.num);
    }
}

ExtendsDemo類

public class ExtendsDemo{

    public static void main(String[] args) {
        Zi z = new Zi();
        z.show();
    }
}

運行:
image.png
成員函數(shù)

當(dāng)子父類中出現(xiàn)成員函數(shù)一模一樣的情況拜秧,會運行子類的函數(shù)痹屹。
這種現(xiàn)象,稱為覆蓋操作枉氮。這是函數(shù)在子父類中的特性志衍。
函數(shù)兩個特性:
1 重載,同一個類聊替。
2 覆蓋楼肪,子類中,覆蓋也稱為重寫惹悄,覆寫春叫。

覆蓋注意事項:
1 子類方法覆蓋父類方法時,子類權(quán)限必須要大于等于父類的權(quán)限俘侠。(無法覆蓋父類中private、static的方法)
2 靜態(tài)只能覆蓋靜態(tài)蔬将,或被靜態(tài)覆蓋爷速。

什么時候覆蓋操作?
當(dāng)對一個類進行子類的擴展時霞怀,子類需要保留父類的功能聲明惫东,但是要定義子類中該功能的特有內(nèi)容,就使用覆蓋操作完成毙石。(如功能的擴展)

Fu類:

public class Fu {
    void show1(){
    System.out.println("fu show run");}
}

Zi類:

public class Zi extends Fu{
    void shoe2(){
        System.out.print("Zi show run");
    }
}

ExtendsDemo類

public class ExtendsDemo{
    public static void main(String[] args){
        Zi z=new Zi();
        z.show1();
        z.shoe2();
        NewPhone p=new NewPhone();
        p.show();
        p.call();
    }
}

運行:
image.png
構(gòu)造函數(shù)

Fu'類:

class Fu {
    Fu(){
        System.out.println("A Fu run");
    }
    Fu(int x){
        System.out.println("B fu run..."+x);
    }
}

Zi類:
在子類構(gòu)造對象時廉沮,發(fā)現(xiàn),訪問子類構(gòu)造函數(shù)時徐矩,父類也運行了滞时。因為在子類的構(gòu)造函數(shù)中第一行有一個默認的隱形語句,super()滤灯;

class Zi extends Fu{
    Zi(){
//      super();調(diào)用的是父類中的空參數(shù)的構(gòu)造函數(shù)
        System.out.println("C Zi run");
    }
    Zi(int x){
        this();
        //super(x);
        System.out.println("D Zi run.."+x);
    }
}

ExtendsDemo類:

class ExtendsDemo{
    public static void main(String[] args){
        new Zi();
        new Zi(6);
    }
}

運行:
image.png

為什么子類實例化的時候要訪問父類中的構(gòu)造函數(shù)呢
因為子類繼承了父類坪稽,獲取到了父類中內(nèi)容(屬性),所以在使用父類內(nèi)容之前鳞骤,
要先看父類是如何對自己內(nèi)容進行初始化的窒百。

所以子類在構(gòu)造對象時,必須訪問父類中的構(gòu)造函數(shù)豫尽。
為了完成這個必要的動作篙梢,就在子類的構(gòu)造函數(shù)中加入了super()語句。

如果父類中沒有定義空參數(shù)構(gòu)造函數(shù)美旧,那么子類的構(gòu)造函數(shù)必須用super明確調(diào)用父類中那個構(gòu)造函數(shù)渤滞。同時子類構(gòu)造函數(shù)中如果使用this調(diào)用了本類構(gòu)造函數(shù)時贬墩,那么super就沒有了,因為super和this都只能定義第一行蔼水。所以只能有一個震糖。但是可以保證的是子類中肯定會有其他的構(gòu)造函數(shù)訪問父類的構(gòu)造函數(shù)。

注意:super語句必須要定義在子類構(gòu)造函數(shù)的第一行趴腋,因為父類的初始化動作要先完成吊说。

還有,java中所有類默認的父類--Object
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末优炬,一起剝皮案震驚了整個濱河市颁井,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蠢护,老刑警劉巖雅宾,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異葵硕,居然都是意外死亡眉抬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門懈凹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜀变,“玉大人,你說我怎么就攤上這事介评】獗保” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵们陆,是天一觀的道長寒瓦。 經(jīng)常有香客問我,道長坪仇,這世上最難降的妖魔是什么杂腰? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮椅文,結(jié)果婚禮上颈墅,老公的妹妹穿的比我還像新娘。我一直安慰自己雾袱,他們只是感情好恤筛,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芹橡,像睡著了一般毒坛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天煎殷,我揣著相機與錄音屯伞,去河邊找鬼。 笑死豪直,一個胖子當(dāng)著我的面吹牛劣摇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弓乙,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼末融,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了暇韧?” 一聲冷哼從身側(cè)響起勾习,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懈玻,沒想到半個月后巧婶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡涂乌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年艺栈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湾盒。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡湿右,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出历涝,到底是詐尸還是另有隱情诅需,我是刑警寧澤漾唉,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布荧库,位于F島的核電站,受9級特大地震影響赵刑,放射性物質(zhì)發(fā)生泄漏分衫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一般此、第九天 我趴在偏房一處隱蔽的房頂上張望蚪战。 院中可真熱鬧,春花似錦铐懊、人聲如沸邀桑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壁畸。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捏萍,已是汗流浹背太抓。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留令杈,地道東北人走敌。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像逗噩,于是被迫代替她去往敵國和親掉丽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容