java多態(tài)

面向?qū)ο蟮娜筇攸c(diǎn)是封裝钮惠、繼承、多態(tài)七芭,其中extends類和implements接口是多態(tài)的基礎(chǔ)素挽,所謂多態(tài),是對(duì)一個(gè)對(duì)象而言的狸驳,例如有一個(gè)父類叫動(dòng)物预明,子類叫狗缩赛,那么我創(chuàng)建一個(gè)對(duì)象“Dog juanjuan = new Dog()”時(shí),juanjuan這個(gè)對(duì)象既是狗也是一個(gè)動(dòng)物撰糠,怎么叫都沒有問題酥馍。多態(tài)還有一種常用寫法即“父類名稱 對(duì)象名 = new 子類名稱()”,那么這樣寫有什么需要注意的呢阅酪?

//父類
public class Father{
    int age = 50;
    public void eat(){
        sout("父親喜歡吃花生")旨袒;
    }

    public void earn(){
        sout("父親掙錢");
    }
}
//子類
public class Son extends Father{
    int age = 26;

    @Override
    public void eat(){
        sout("兒子喜歡吃肉");
    }

    public void study(){
        sout("兒子學(xué)習(xí)");
    }
}
public class Main{
    psvm{
    Father jack = new Son();
    sout(jack.age);  //50
    jack.eat();      //兒子喜歡吃肉
    jack.earn();     //父親掙錢
    jack.study();    //找不到該方法术辐,編譯錯(cuò)誤
    }
}

我們?cè)趧?chuàng)建對(duì)象的時(shí)候就看這個(gè)對(duì)象是什么類型的峦失,比如Jack是Father類型的,那么它擁有Father的全部成員變量和成員方法术吗,因?yàn)槌蓡T變量是不能重載的尉辑,所以jack.age會(huì)輸出50;那么new Son()有什么作用呢较屿?那就是如果方法進(jìn)行了重載隧魄,那么就會(huì)優(yōu)先執(zhí)行重載的方法。
個(gè)人理解如下隘蝎,如有錯(cuò)誤购啄,萬分抱歉!


image.png

個(gè)人理解是嘱么,在創(chuàng)建Father類型的對(duì)象狮含,但右邊new了一個(gè)子類的時(shí)候,由于成員變量無法重載曼振,所以直接將Father類中的成員變量照搬過來即可几迄,但是對(duì)成員方法要在Son()中進(jìn)行檢查,如有同名重寫的方法冰评,就用Son()中的方法映胁,其它的方法直接照搬Father類中的方法。

所以關(guān)鍵是看這個(gè)對(duì)象是什么類型的甲雅,要記住jack是Father類型的解孙,但是new Son()就是對(duì)一些重名函數(shù)進(jìn)行重寫。

個(gè)人理解這樣的做法是抛人,比如我創(chuàng)建了某個(gè)用戶弛姜,我就想把他當(dāng)做User來看,User xiezhao妖枚,但是在某些權(quán)限方面廷臼,可能是VIP或者不是VIP,User xiezhao = new Vip();/User xiezhao = new NonVip();首先我肯定是用戶,但對(duì)于是不是VIP中剩,我有不同的權(quán)限忌穿,這樣就可以很統(tǒng)一的把一些成員當(dāng)做User用戶來看,而不是細(xì)分到是不是VIP结啼。換言之掠剑,在代碼層面來看,我可以把左邊進(jìn)行統(tǒng)一郊愧,而右邊表示的是我所關(guān)注的點(diǎn)朴译,如下所示

//不使用多態(tài)
Vip1 a1 = new vip1();
Vip2 a2 = new vip2();
Vip1 a3 = new vip1();
Vip1 a4 = new vip1();
Vip3 a5 = new vip3();

//使用多態(tài)
User a1 = new vip1();
User a2 = new vip2();
User a3 = new vip1();
User a4 = new vip1();
User a5 = new vip3();

看出來了嗎,我并不關(guān)心其它的東西属铁,我只關(guān)心你是Vip幾眠寿,反正你是我的用戶就完事兒了,代碼左邊直接統(tǒng)一起來了焦蘑,巴適盯拱!

總結(jié)下來就是,我等號(hào)左邊是什么類型例嘱,就把這個(gè)對(duì)象當(dāng)做是什么類型的來看狡逢,但是跟普通的實(shí)例化有一點(diǎn)區(qū)別就是,如果在子類中有父類同名方法進(jìn)行了重載拼卵,那么我用的這個(gè)同名方法就要變更為子類中的方法奢浑,其它的一切一切都不變!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腋腮,一起剝皮案震驚了整個(gè)濱河市雀彼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌即寡,老刑警劉巖徊哑,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異嘿悬,居然都是意外死亡实柠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門善涨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人草则,你說我怎么就攤上這事钢拧。” “怎么了炕横?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵源内,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我份殿,道長(zhǎng)膜钓,這世上最難降的妖魔是什么嗽交? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮颂斜,結(jié)果婚禮上夫壁,老公的妹妹穿的比我還像新娘。我一直安慰自己沃疮,他們只是感情好盒让,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著司蔬,像睡著了一般邑茄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俊啼,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天肺缕,我揣著相機(jī)與錄音,去河邊找鬼授帕。 笑死搓谆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的豪墅。 我是一名探鬼主播泉手,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼偶器!你這毒婦竟也來了斩萌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤屏轰,失蹤者是張志新(化名)和其女友劉穎颊郎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎苗,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姆吭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唁盏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内狸。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖厘擂,靈堂內(nèi)的尸體忽然破棺而出昆淡,到底是詐尸還是另有隱情,我是刑警寧澤刽严,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布昂灵,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏眨补。R本人自食惡果不足惜管削,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撑螺。 院中可真熱鬧含思,春花似錦、人聲如沸实蓬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽安皱。三九已至调鬓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酌伊,已是汗流浹背腾窝。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留居砖,地道東北人虹脯。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像奏候,于是被迫代替她去往敵國(guó)和親循集。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354