Java初學(xué)之繼承與多態(tài)
首先我們?nèi)绻褂肑ava中存在的包,可以程序中使用import語(yǔ)句導(dǎo)入包。包說(shuō)通俗點(diǎn)就是一個(gè)
文件夾,為了方便管理。
在程序中聲明包的語(yǔ)法:package <包名>
注意:聲明一個(gè)包的語(yǔ)句必須寫(xiě)在類中的第一行。
在程序中導(dǎo)入包的格式:
import <包名>.<類名>
重點(diǎn)來(lái)了,繼承!
繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)重要特征,它是通過(guò)繼承原有類派生出的子類進(jìn)而構(gòu)造出更為復(fù)雜的子類。子類既有新定義的行為特征,又繼承了原有類的行為特征。我們可以這樣進(jìn)一步認(rèn)為:父類更為通用,子類更為具體。通過(guò)繼承可以大幅度提高代碼復(fù)用性,減少代碼量,便于程序的后期維護(hù)。Java的繼承使用extends關(guān)鍵字實(shí)現(xiàn)。
Java繼承語(yǔ)法格式:【修飾符】class 子類名 【extends 父類名】{
//類定義部分
}
!注意:Java中的繼承為單繼承,即一個(gè)子類只能有一個(gè)直接的父類。
子類會(huì)自動(dòng)繼承父類的屬性,子類中也可以定義特定的屬性和方法。
下面是重載:
方法的重載,是指在同一個(gè)類中的多個(gè)方法可以具有相同的方法名,但是這些的方法參數(shù)必須不同。
當(dāng)方法功能相同時(shí),只是接受參數(shù)不同的時(shí)候,就要用到重載。
使用方法重載需要注意以下幾點(diǎn):
1.同一個(gè)類中方法名相同,參數(shù)列表不同。 2.返回值類型不能用于區(qū)分方法的重載。提醒:構(gòu)造方法也可以實(shí)現(xiàn)方法的重載。
什么是重寫(xiě)呢?:子類擴(kuò)展了父類,子類是一個(gè)特殊的父類。子類以父類為基礎(chǔ),額外增加新的屬性和方法。
方法的重寫(xiě)要遵循方法名和參數(shù)列表都必須相同。子類方法的訪問(wèn)權(quán)限應(yīng)該要比父類方法的訪問(wèn)權(quán)限更大或者相等。
多態(tài)應(yīng)用:多態(tài)是指同一操作作用于不同對(duì)象,可以有不同的解釋,以致產(chǎn)生不同的執(zhí)行結(jié)果。在編譯時(shí),可以通過(guò)父類的引用指向子類對(duì)象,而在運(yùn)行時(shí),則通過(guò)父類指向子類對(duì)象,調(diào)用子類中重寫(xiě)父類的方法。
多態(tài)的具體操作見(jiàn)示例:

程序運(yùn)行結(jié)果如圖:

這里的強(qiáng)制轉(zhuǎn)換轉(zhuǎn)換的是對(duì)象,要有關(guān)系才能轉(zhuǎn),兩個(gè)平行的類不能轉(zhuǎn),如:子類和父類,兩個(gè)類
都有繼承關(guān)系,但是可以和父類的父類轉(zhuǎn)。
instanceof 運(yùn)算符instanceof運(yùn)算符的前一個(gè)操作數(shù)通常是一個(gè)引用類型變量。后一個(gè)操作數(shù)通常是一個(gè)類。他它用于判斷運(yùn)算符前面的引用變量是否是運(yùn)算符后面的類型或其子類型的實(shí)例。
總結(jié)本篇文章就到這里了,希望可以對(duì)你有所幫助,也希望您可以多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!
相關(guān)文章:
1. Android table布局開(kāi)發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器2. 理解PHP5中static和const關(guān)鍵字3. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼4. php模擬實(shí)現(xiàn)斗地主發(fā)牌5. IntelliJ IDEA安裝插件的方法步驟6. phpstorm恢復(fù)默認(rèn)設(shè)置的方法步驟7. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)8. Python random庫(kù)使用方法及異常處理方案9. Vuex localStorage的具體使用10. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟

網(wǎng)公網(wǎng)安備