面向對象(oop)結束篇(1)

繼承

1. 繼承的基礎語法

在程序設計中边涕,如果有多個具有邏輯關聯(lián)的類蚊逢,具有相同的特性和行為(屬性和方法)聂宾。那么我們可以將這些相同的部分提取出來夕膀,做成另外的一個類虚倒。

被提取出來的類,稱作是 -- 父類店诗,基類裹刮,超類

那些被提取共同點音榜,具有邏輯關聯(lián)的類庞瘸,被稱作 -- 子類,派生類

他們之間的關系赠叼,叫做 -- 繼承

// Dog類繼承自Animal類
// Animal是父類
// Dog是子類
class Dog extends Animal {}
2. 繼承的基本特點

1擦囊、子類可以訪問父類中能看得到的所有成員。

這里的所謂的“能看得到的”嘴办,指的是訪問權限修飾符的限定瞬场。

2、Java語言是單繼承的涧郊。一個類只能有一個父類贯被、但是一個類可以有多個子類。

多繼承容易出現(xiàn)“二義性”的問題妆艘,所以很多語言都摒棄掉多繼承彤灶。但是會通過其他的方式間接的實現(xiàn)多繼承

例如:在Java中,通過“接口”來間接實現(xiàn)多繼承批旺。

3幌陕、構造方法不能被繼承。

什么情況下使用繼承

如果一個類提供的功能已經(jīng)不能滿足我們的需求汽煮,此時可以考慮使用繼承來為這個類添加功能搏熄。

3. 繼承中的構造方法

1棚唆、構造方法是不能被繼承的

2、一個對象在堆上開辟的空間心例,其實可以分為兩大部分:父類繼承成員 和 子類特有成員

一個對象在進行實例化的時候宵凌,先實例化從父類繼承到的部分,再實例化子類特有的部分

實例化父類部分的時候止后,需要調用父類中的構造方法摆寄,默認調用父類中的無參構造

3、如果父類中沒有無參構造方法坯门,則子類對象將不能正常的實例化

1微饥、給父類添加一個無參構造

2、在子類的構造方法中古戴,手動調用父類中存在的構造方法

? super()

4. 訪問權限修飾符

用來修飾屬性欠橘、方法、類的一些修飾符现恼,使被修飾的部分具有一定的訪問權限肃续。

訪問權限:屬性、方法叉袍、類可以在哪些范圍被訪問始锚。

訪問權限 修飾符 可以修飾
公開權限 public 類、方法喳逛、屬性
保護權限 protected 方法瞧捌、屬性
包權限 類、方法润文、屬性
私有權限 private 方法姐呐、屬性
訪問權限 當前類 同包 跨包子類 跨包不同類
public
protected ×
default/package × ×
private × × ×

訪問權限大小關系: public > protected > default > private

5. 方法的重寫 Override

是繼承中最重要的部分。也是多態(tài)的基礎典蝌。

重寫曙砂,就是在子類中,對從父類繼承到的方法進行重新實現(xiàn)骏掀。

重寫鸠澈,又叫做覆寫,用子類的實現(xiàn)覆蓋掉父類的實現(xiàn)截驮。

重寫中需要注意的問題:

@Override

這是一個注解笑陈,附著在修飾的地方,可以做一些簡單的邏輯侧纯。

用來修飾一個方法新锈,作用是對這個方法做一個重寫的驗證,驗證這個方法是不是一個重寫的方法眶熬。

在進行方法重寫的時候妹笆,@Override不是一個必須要添加的注解块请,但是實際開發(fā)中,我們一般都是會加上的拳缠。

重寫對方法的返回值墩新、訪問權限的要求

1、對訪問權限的要求:子類方法的訪問權限要大于等于父類方法的訪問權限窟坐。

2海渊、對返回值的要求:子類方法的返回值類型可以和父類方法保持一致,也可以是父類方法返回值類型的子類型哲鸳。

3臣疑、重寫對方法的異常拋出類型也有要求,這個要求徙菠,后面在異常中講讯沈。

6. final關鍵字

final 關鍵字可以用來修飾什么?分別具有什么樣的意義婿奔?

1缺狠、修飾變量,表示值不可以改變萍摊,是一個常量

2挤茄、修飾類,表示這個類是一個最終類冰木,無法被繼承

3穷劈、修飾方法,表示是一個最終方法片酝,不能被重寫

7. Object類

Object類是Java中所有的類的根類囚衔。所有的類都直接或者間接的繼承自Object。

這個類中定義了很多的每一個類都能使用到的方法雕沿。

  • toString()
    • 返回一個當前對象的字符串表示形式。
    • 如果需要將一個對象轉成字符串類型猴仑,會默認的調用這個方法审轮。
  • hashCode()
    • 返回的是一個對象的地址哈希碼
    • 如果在一個散列序列中,這個方法的作用非常大
    • 如果沒有在一個散列序列中辽俗,這個方法基本無用
    • HashSet疾渣、HashMap。崖飘。榴捡。
  • equals(Object other)
    • 自定義的兩個對象的比較規(guī)則
    • 理論上來講,可以任意的制定規(guī)則朱浴,但是規(guī)則制定吊圾,一般需要遵循一定的規(guī)范
      • 如果other是null达椰,則返回一定是false
      • 如果this == other,則返回一定是true
      • 如果this和other的類型不同项乒,則返回一定是false
      • 如果a.equals(b) == true啰劲,那么b.equals(a)結果也一定是true
      • 如果a.equals(b) == ture, b.equals(c) == true,則 a.equals(c) 也一定要是true
    • 引用數(shù)據(jù)類型的比較檀何,一般情況下都是通過equals進行比較的
  • getClass()
    • 獲取一個對象的類型
8. super關鍵字

和this是比較像的蝇裤。

this: 對當前對象的引用。

super: 對父類對象的引用频鉴。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末栓辜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垛孔,更是在濱河造成了極大的恐慌啃憎,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件似炎,死亡現(xiàn)場離奇詭異辛萍,居然都是意外死亡,警方通過查閱死者的電腦和手機羡藐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門贩毕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仆嗦,你說我怎么就攤上這事辉阶。” “怎么了瘩扼?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵谆甜,是天一觀的道長。 經(jīng)常有香客問我集绰,道長规辱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任栽燕,我火速辦了婚禮罕袋,結果婚禮上,老公的妹妹穿的比我還像新娘碍岔。我一直安慰自己浴讯,他們只是感情好,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布蔼啦。 她就那樣靜靜地躺著榆纽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奈籽,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天饥侵,我揣著相機與錄音,去河邊找鬼唠摹。 笑死爆捞,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的勾拉。 我是一名探鬼主播煮甥,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼藕赞!你這毒婦竟也來了成肘?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤斧蜕,失蹤者是張志新(化名)和其女友劉穎双霍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體批销,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡洒闸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了均芽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丘逸。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖掀宋,靈堂內(nèi)的尸體忽然破棺而出深纲,到底是詐尸還是另有隱情,我是刑警寧澤劲妙,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布湃鹊,位于F島的核電站,受9級特大地震影響镣奋,放射性物質發(fā)生泄漏币呵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一唆途、第九天 我趴在偏房一處隱蔽的房頂上張望富雅。 院中可真熱鬧,春花似錦肛搬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鬼癣,卻和暖如春陶贼,著一層夾襖步出監(jiān)牢的瞬間啤贩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工拜秧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痹屹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓枉氮,卻偏偏與公主長得像志衍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子聊替,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

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

  • 1 面向對象No6 面向對象 OO Object Oriented 編程時以對象為單元楼肪,封裝數(shù)據(jù)和邏輯,以此提...
    征程_Journey閱讀 1,150評論 0 2
  • 深入構造器 構造器用于在創(chuàng)建實例時執(zhí)行初始化惹悄。構造器是創(chuàng)建對象的重要途徑(即使使用工廠模式春叫、反射等方式創(chuàng)建對象,其...
    凌寒天下獨自舞閱讀 326評論 0 1
  • 面向對象筆記 一泣港、 對象在內(nèi)存中的存放方法以及被調用過程 class文件首先被加載到方法區(qū)中的class文件內(nèi)容區(qū)...
    VictorBXv閱讀 469評論 0 2
  • 二暂殖、面向對象 1、面向對象思想: (1)概述:面向對象是相對于面向過程而言的当纱,面向過程強調的是功能呛每,面向對象強調的...
    佘大將軍閱讀 427評論 0 1
  • 1、.java源文件: 一個以”.java“為后綴的源文件:只能有一個與文件名相同的類惫东,可以包含其他類莉给。 2、類方...
    Hughman閱讀 1,473評論 1 9