Java繼承篇總結(jié)

繼承:

1)概念

把多個類中相同的成員給提取出來定義到一個獨立的類中朽基。然后讓這多個類和該獨立的類產(chǎn)生一個關(guān)系,這多個類就具備了這些內(nèi)容余爆。這個關(guān)系叫繼承。

1.1)定義類時硕舆,通過“繼承”一個現(xiàn)有的類秽荞,子類可以具有父類中的所有屬性和方法。

2)Java中如何表示繼承呢?格式是什么呢?

A:用關(guān)鍵字extends表示

B:格式:

class 子類名 extends 父類名 {}

2.1)案例

public class Animal {
String name;
String color;
public void run(){System.out.println("這只動物正在奔跑");
}

}
package com.sp;
public class Person extends Animal{
public static void main(String[] args) {
Person p = new Person();
p.name="TOM";
p.color="白色" ;
p.run();
}
}

2.2)方法重載

2.2.1)當子類繼承父類時抚官,可以從父類繼承它的屬性和方法扬跋。

2.2.2)如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫凌节,這個過程叫方法的覆蓋(override)钦听,也稱為方法的重寫。

2.2.3)當對父類的方法進行重寫時倍奢,子類中的方法必須和父類中對應的方法具有相同的方法名稱朴上、輸入?yún)?shù)(包括參數(shù)的個數(shù)和類型)和返回值。

2.2.4)子類中的覆蓋方法不能使用比父類中被覆蓋方法更嚴格的訪問權(quán)限卒煞。

package com.sp;
public class Person extends Animal{
//重寫run方法   重寫方法返回類型痪宰、方法名、參數(shù)列表  和父類的這個方法的返回類型一致
public void run(){
System.out.println("這個人正在奔跑吧 畔裕,兄弟");
}
//重寫sing方法 
public boolean sing(String name){
System.out.println("這個人正在唱歌");
return true;
}
public static void main(String[] args) {
Person p = new Person();
p.name="TOM";
p.color="白色" ;
p.run();
p.sing("");
}
}

2.3)訪問控制:

在Java中衣撬,可以在類、類的屬性以及類的方法前面加上一個修飾符(modifier)扮饶,來對類進行一些訪問上的控制具练。

3)繼承的好處:

A:提高了代碼的復用性

B:提高了代碼的維護性

C:讓類與類產(chǎn)生了一個關(guān)系,是多態(tài)的前提

4)繼承的弊端:

4.1):讓類的耦合性增強贴届。這樣某個類的改變靠粪,就會影響其他和該類相關(guān)的類。

原則:低耦合毫蚓,高內(nèi)聚。

耦合:類與類的關(guān)系

4.2):打破了封裝性

5)Java中繼承的特點

5.1):Java中類只支持單繼承

5.2):Java中可以多層(重)繼承(繼承體系)

5.3):java.lang.Object類是所有類的父類

6)繼承的注意事項:

6.1):子類不能繼承父類的私有成員

6.2):子類不能繼承父類的構(gòu)造方法昔善,但是可以通過super去訪問

6.3):不要為了部分功能而去繼承

7)什么時候使用繼承呢?

7.1):繼承體現(xiàn)的是:is a的關(guān)系元潘。

7.2):采用假設(shè)法

8)Java繼承中的成員關(guān)系

8.1):成員變量

8.1.1):子類的成員變量名稱和父類中的成員變量名稱不一樣

8.1.2):子類的成員變量名稱和父類中的成員變量名稱一樣,這個怎么訪問呢?

類的方法訪問變量的查找順序:

在子類方法的局部范圍找君仆,有就使用翩概。

在子類的成員范圍找,有就使用返咱。

在父類的成員范圍找钥庇,有就使用。

找不到咖摹,就報錯评姨。

8.2):構(gòu)造方法

8.2.1):子類的構(gòu)造方法默認會去訪問父類的無參構(gòu)造方法

是為了子類訪問父類數(shù)據(jù)的初始化

8.2.2):父類中如果沒有無參構(gòu)造方法,怎么辦?

子類通過super去明確調(diào)用帶參構(gòu)造

子類通過this調(diào)用本身的其他構(gòu)造萤晴,但是一定會有一個去訪問了父類的構(gòu)造

讓父類提供無參構(gòu)造

8.3):成員方法

a:子類的成員方法和父類中的成員方法名稱不一樣吐句,這個太簡單

b:子類的成員方法和父類中的成員方法名稱一樣胁后,這個怎么訪問呢?

通過子類對象訪問一個方法的查找順序:

在子類中找,有就使用

在父類中找嗦枢,有就使用

找不到攀芯,就報錯

9)super關(guān)鍵字

9.1)作用(因?qū)W習他人,謝絕轉(zhuǎn)載文虏,renzhiyuan.blog.51cto.com)

在Java類中使用super來引用父類的(屬性侣诺、方法和構(gòu)造器)

super可用于訪問父類中定義的屬性

super可用于調(diào)用父類中定義的成員方法

super可用于在子類構(gòu)造器中調(diào)用父類的構(gòu)造器

9.2)調(diào)用父類構(gòu)造器

在子類的構(gòu)造器中一定要調(diào)用一次父類的構(gòu)造器,系統(tǒng)默認調(diào)用的是父類無參數(shù)的構(gòu)造器氧秘。

如果子類構(gòu)造器中既未顯式調(diào)用父類構(gòu)造器紧武,而父類中又沒有無參的構(gòu)造器,則編譯出錯

如果父類沒有無參數(shù)的構(gòu)造器敏储,在子類的構(gòu)造器中可使用語句super()調(diào)用父類相應有參數(shù)的構(gòu)造器

歡迎工作一到五年的Java工程師朋友們加入Java高級互聯(lián)網(wǎng)架構(gòu):957734884
群內(nèi)提供免費的Java架構(gòu)學習資料(里面有高可用阻星、高并發(fā)、高性能及分布式已添、Jvm性能調(diào)優(yōu)妥箕、Spring源碼,MyBatis更舞,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構(gòu)資料)合理利用自己每一分每一秒的時間來學習提升自己畦幢,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕缆蝉,使勁拼宇葱,給未來的自己一個交代!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刊头,一起剝皮案震驚了整個濱河市黍瞧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌原杂,老刑警劉巖印颤,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異穿肄,居然都是意外死亡年局,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門咸产,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矢否,“玉大人,你說我怎么就攤上這事脑溢〗├剩” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衣迷。 經(jīng)常有香客問我畏鼓,道長,這世上最難降的妖魔是什么壶谒? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任云矫,我火速辦了婚禮,結(jié)果婚禮上汗菜,老公的妹妹穿的比我還像新娘让禀。我一直安慰自己,他們只是感情好陨界,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布巡揍。 她就那樣靜靜地躺著,像睡著了一般菌瘪。 火紅的嫁衣襯著肌膚如雪腮敌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天俏扩,我揣著相機與錄音糜工,去河邊找鬼。 笑死录淡,一個胖子當著我的面吹牛捌木,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嫉戚,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼刨裆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了彬檀?” 一聲冷哼從身側(cè)響起帆啃,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎凤覆,沒想到半個月后链瓦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡盯桦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渤刃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拥峦。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卖子,靈堂內(nèi)的尸體忽然破棺而出略号,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布玄柠,位于F島的核電站突梦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏羽利。R本人自食惡果不足惜宫患,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望这弧。 院中可真熱鬧娃闲,春花似錦、人聲如沸匾浪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛋辈。三九已至属拾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冷溶,已是汗流浹背渐白。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挂洛,地道東北人礼预。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像虏劲,于是被迫代替她去往敵國和親托酸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

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

  • 一:java概述:1柒巫,JDK:Java Development Kit励堡,java的開發(fā)和運行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,635評論 0 11
  • 一:java概述: 1堡掏,JDK:Java Development Kit应结,java的開發(fā)和運行環(huán)境,java的開發(fā)...
    慕容小偉閱讀 1,778評論 0 10
  • 整理來自互聯(lián)網(wǎng) 1泉唁,JDK:Java Development Kit鹅龄,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,537評論 0 6
  • 父類與子類 在Java術(shù)語中亭畜,如果C1類擴展自另一個類C2扮休,我們稱C2為父類,也稱超類或基類拴鸵,稱C1為子類玷坠,也稱次...
    Steven1997閱讀 1,155評論 1 2
  • 下班路上蜗搔,在某公號看到一篇文章,不停成長的人總會善于自我復盤八堡。 最近處于自我審視和團隊初長成的階段樟凄,很大程度需要冷...
    荷顏閱讀 888評論 0 0