114培訓(xùn)網(wǎng)歡迎您來(lái)到寧波中公教育優(yōu)就業(yè)!

13081913316

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

寧波Java培訓(xùn) 淺談Java中多態(tài)變量

授課機(jī)構(gòu):寧波中公教育優(yōu)就業(yè)

關(guān)注度:1266

課程價(jià)格: 請(qǐng)咨詢客服

上課地址:請(qǐng)咨詢客服

開課時(shí)間:滾動(dòng)開班

咨詢熱線:13081913316

在線報(bào)名

課程詳情在線報(bào)名

更新時(shí)間:2025-01-16
【寧波達(dá)內(nèi)】很多人對(duì)于Java中的多態(tài)變量并不陌生,那么你是否真的了解呢?在下面的寧波Java培訓(xùn)中寧波達(dá)內(nèi)的老師就來(lái)談一談Java中的多態(tài)變量。 寧波Java培訓(xùn)一、多態(tài)的表現(xiàn)形式 多態(tài)的表現(xiàn)形式有方法重載,方法改寫,多態(tài)變量和泛型。重載是一種靜態(tài)的多態(tài)性,在程序編譯時(shí)確定被調(diào)用的方法,稱為早綁定。而多態(tài)變量和改寫相結(jié)合之后,方法的調(diào)用在運(yùn)行時(shí)才能確定,是動(dòng)態(tài)的多態(tài)性,稱為晚綁定。 寧波Java培訓(xùn)二、里氏替換原則(The Liskov Principle of Substitution) 在靜態(tài)類型語(yǔ)言中,在父類和子類之間的關(guān)系存在下面的現(xiàn)象 子類的實(shí)例必須擁有父類的所有數(shù)據(jù)成員; 子類的實(shí)例必須至少通過(guò)繼承(如果不是顯示地改寫)實(shí)現(xiàn)父類所定義的所有功能; 這樣,在某種條件下,如果用子類實(shí)例來(lái)替換父類實(shí)例,那么將會(huì)發(fā)現(xiàn)子類實(shí)例可以完全模擬父類的行為,二者毫無(wú)差別; 替換原則是指如果有A和B兩個(gè)類,類B是類A的子類,那么在任何情況下都可以用類B來(lái)替換類A,而外界則毫無(wú)察覺(jué)。 不是所有繼承產(chǎn)生的子類都符合替換原則,符合替換原則的子類稱為子類型。 寧波Java培訓(xùn)三、靜態(tài)類型和動(dòng)態(tài)類型 在靜態(tài)類型面向?qū)ο笳Z(yǔ)言中,一個(gè)變量所存儲(chǔ)的值的類型并不等同于這個(gè)變量所聲明的類型。聲明為父類類型的變量可以包含子類的實(shí)例值。 靜態(tài)類型是指變量在聲明時(shí)所確定的類型,并且一經(jīng)聲明就不會(huì)改變;動(dòng)態(tài)類型是指這個(gè)變量實(shí)際存儲(chǔ)的值的類型。在靜態(tài)類型的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,在編譯時(shí)消息傳遞表達(dá)式的合法性不是基于接收器的動(dòng)態(tài)類型,而是基于接收器的靜態(tài)類型。而對(duì)象對(duì)消息的響應(yīng)取決于對(duì)象的動(dòng)態(tài)類型。(就是說(shuō):寫代碼的時(shí)候“點(diǎn)”不出該對(duì)象動(dòng)態(tài)類型包含而靜態(tài)類型不包含的變量、方法;動(dòng)態(tài)類型就是程序運(yùn)行過(guò)程中被重新賦值為對(duì)其他對(duì)象的引用,這時(shí)候他就可以含有動(dòng)態(tài)類型對(duì)象的方法了。) 寧波Java培訓(xùn)四、父類對(duì)象和子類對(duì)象 子類從父類繼承了所有的屬性和方法,因此作用在父類上的方法應(yīng)用在子類對(duì)象上也是合法的。由于繼承表達(dá)的是一種is a關(guān)系,即子類對(duì)象可以被視為父類的一個(gè)對(duì)象,因此可以把子類對(duì)象的引用賦給父類對(duì)象;反之,父類對(duì)象不一定是其某個(gè)特定子類的對(duì)象,因此不一定滿足is a關(guān)系,因此不能把父類對(duì)象的引用直接賦給子類對(duì)象。
姓名不能為空
手機(jī)號(hào)格式錯(cuò)誤