Java中的綁定

靜態(tài)類(lèi)型和動(dòng)態(tài)類(lèi)型


任何一個(gè)引用變量都有兩個(gè)類(lèi)型:一個(gè)叫靜態(tài)類(lèi)型杖们,也就是定義該引用變量的類(lèi)型苍苞;另一個(gè)叫動(dòng)態(tài)類(lèi)型凤薛,也就是該引用實(shí)際指向的對(duì)象類(lèi)型一膨。

A a = new B();
那么座泳,引用a的靜態(tài)類(lèi)型就是A惠昔,動(dòng)態(tài)類(lèi)型就是B。

編譯看左邊挑势,運(yùn)行看右邊镇防。
java中引用的靜態(tài)類(lèi)型再編譯的時(shí)候就可以確認(rèn),但是編譯器無(wú)法得知這個(gè)引用的動(dòng)態(tài)類(lèi)型薛耻;只有程序運(yùn)行時(shí)营罢,通過(guò)RTTI(run time type identification, 運(yùn)行時(shí)類(lèi)型檢查)就可檢查出引用的動(dòng)態(tài)類(lèi)型饼齿。

  • 綁定

對(duì)于一個(gè)程序饲漾,可以有很多的方法。這些方法的名稱(chēng)缕溉、參數(shù)類(lèi)型和參數(shù)數(shù)量都可能相同或者不同考传,那么再調(diào)用一個(gè)方法的時(shí)候,如何將一個(gè)方法和該方法所在的類(lèi)關(guān)聯(lián)起來(lái)证鸥,這就是綁定僚楞。java中的綁定分為動(dòng)態(tài)綁定和靜態(tài)綁定勤晚。

  • 靜態(tài)綁定

所有依賴(lài)于靜態(tài)類(lèi)型來(lái)將方法和該方法所在的類(lèi)關(guān)聯(lián)起來(lái)的動(dòng)作就是靜態(tài)綁定。因?yàn)殪o態(tài)綁定發(fā)生在編譯時(shí)期泉褐,所以又叫前期綁定赐写。

  • 動(dòng)態(tài)綁定

所有依賴(lài)動(dòng)態(tài)類(lèi)型來(lái)將方法和方法所在的類(lèi)進(jìn)行關(guān)聯(lián)的動(dòng)作就是動(dòng)態(tài)綁定。以為動(dòng)態(tài)綁定實(shí)在程序運(yùn)行時(shí)膜赃,通過(guò)RTTI實(shí)現(xiàn)挺邀,所以又叫后期綁定。

  • 舉個(gè)栗子

有父類(lèi)Father和子類(lèi)Son跳座,子類(lèi)重寫(xiě)了父類(lèi)中的某個(gè)方法method()端铛。

Father father = new Son();
father.method();

在這個(gè)栗子中,靜態(tài)綁定的過(guò)程是:java文件編譯時(shí)疲眷,編譯器檢查出引用father的靜態(tài)類(lèi)型時(shí)Father類(lèi)禾蚕,于是將method()方法和父類(lèi)Father關(guān)聯(lián)起來(lái)。也就是說(shuō)狂丝,程序運(yùn)行前編譯器是無(wú)法檢查出引用father的動(dòng)態(tài)類(lèi)型的换淆,所以會(huì)直接調(diào)用靜態(tài)類(lèi)型中的方法。

而動(dòng)態(tài)類(lèi)型的過(guò)程是:當(dāng)這個(gè)java程序運(yùn)行起來(lái)了美侦,RTTI檢查出引用father的動(dòng)態(tài)類(lèi)型是Son類(lèi)時(shí)产舞,會(huì)將method()方法和子類(lèi)Son關(guān)聯(lián)起來(lái),也就是確定調(diào)用動(dòng)態(tài)類(lèi)型Son類(lèi)中的method方法菠剩。具體過(guò)程為:1. JVM提取對(duì)象的實(shí)際類(lèi)型的方法表;2. JVM搜索方法簽名耻煤;3. 調(diào)用方法具壮。

java中的類(lèi)的屬性都是靜態(tài)綁定。這是因?yàn)殪o態(tài)綁定是有很多的好處哈蝇,他可以讓我們?cè)诰幾g器就發(fā)現(xiàn)程序中的錯(cuò)誤棺妓,而不是在運(yùn)行期。這樣就可以提高程序的運(yùn)行效率炮赦!而對(duì)方法采用動(dòng)態(tài)綁定是為了實(shí)現(xiàn)多態(tài)怜跑。

?著作權(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)離奇詭異,居然都是意外死亡峭拘,警方通過(guò)查閱死者的電腦和手機(jī)俊庇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)狮暑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人辉饱,你說(shuō)我怎么就攤上這事搬男。” “怎么了彭沼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵止后,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我溜腐,道長(zhǎng)译株,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任挺益,我火速辦了婚禮歉糜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘望众。我一直安慰自己匪补,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布烂翰。 她就那樣靜靜地躺著夯缺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甘耿。 梳的紋絲不亂的頭發(fā)上踊兜,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音佳恬,去河邊找鬼捏境。 笑死,一個(gè)胖子當(dāng)著我的面吹牛毁葱,可吹牛的內(nèi)容都是我干的垫言。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼倾剿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼筷频!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起前痘,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤凛捏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后际度,有當(dāng)?shù)厝嗽跇?shù)林里發(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
  • 文/蒙蒙 一藻丢、第九天 我趴在偏房一處隱蔽的房頂上張望剪撬。 院中可真熱鬧,春花似錦悠反、人聲如沸残黑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)梨水。三九已至,卻和暖如春茵臭,著一層夾襖步出監(jiān)牢的瞬間疫诽,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工笼恰, 沒(méi)想到剛下飛機(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

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