Java初學(xué)之繼承與多態(tài)
首先我們?nèi)绻褂肑ava中存在的包,可以程序中使用import語句導(dǎo)入包。包說通俗點(diǎn)就是一個(gè)
文件夾,為了方便管理。
在程序中聲明包的語法:
package <包名>
注意:聲明一個(gè)包的語句必須寫在類中的第一行。
在程序中導(dǎo)入包的格式:
import <包名>.<類名>
重點(diǎn)來了,繼承!
繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)重要特征,它是通過繼承原有類派生出的子類進(jìn)而構(gòu)造出更為復(fù)雜的子類。子類既有新定義的行為特征,又繼承了原有類的行為特征。我們可以這樣進(jìn)一步認(rèn)為:父類更為通用,子類更為具體。通過繼承可以大幅度提高代碼復(fù)用性,減少代碼量,便于程序的后期維護(hù)。Java的繼承使用extends關(guān)鍵字實(shí)現(xiàn)。
Java繼承語法格式:
【修飾符】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)方法的重載。
什么是重寫呢?:
子類擴(kuò)展了父類,子類是一個(gè)特殊的父類。子類以父類為基礎(chǔ),額外增加新的屬性和方法。
方法的重寫要遵循方法名和參數(shù)列表都必須相同。子類方法的訪問權(quán)限應(yīng)該要比父類方法的訪問權(quán)限更大或者相等。
多態(tài)應(yīng)用:
多態(tài)是指同一操作作用于不同對(duì)象,可以有不同的解釋,以致產(chǎn)生不同的執(zhí)行結(jié)果。在編譯時(shí),可以通過父類的引用指向子類對(duì)象,而在運(yùn)行時(shí),則通過父類指向子類對(duì)象,調(diào)用子類中重寫父類的方法。
多態(tài)的具體操作見示例:
程序運(yùn)行結(jié)果如圖:
引用變量的強(qiáng)制類型轉(zhuǎn)換
這里的強(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)注腳本之家的更多內(nèi)容!
相關(guān)文章
java數(shù)據(jù)庫開發(fā)之JDBC基礎(chǔ)使用方法及實(shí)例詳解
這篇文章主要介紹了java數(shù)據(jù)庫開發(fā)之JDBC基礎(chǔ)知識(shí)詳解,需要的朋友可以參考下2020-02-02MyBatis中執(zhí)行相關(guān)SQL語句的方法
本文主要介紹了MyBatis中執(zhí)行相關(guān)SQL語句的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08springboot之security?FilterSecurityInterceptor的使用要點(diǎn)記錄
這篇文章主要介紹了springboot之security?FilterSecurityInterceptor的使用要點(diǎn)記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Java中漢字轉(zhuǎn)拼音pinyin4j用法實(shí)例分析
這篇文章主要介紹了Java中漢字轉(zhuǎn)拼音pinyin4j用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了pinyin4j庫的具體使用技巧,需要的朋友可以參考下2015-12-12Java設(shè)計(jì)模式之構(gòu)建者模式知識(shí)總結(jié)
這幾天剛好在復(fù)習(xí)Java的設(shè)計(jì)模式,今天就給小伙伴們?nèi)婵偨Y(jié)一下開發(fā)中最常用的設(shè)計(jì)模式-建造者模式的相關(guān)知識(shí),里面有很詳細(xì)的代碼示例及注釋哦,需要的朋友可以參考下2021-05-05解決Lombok使用@Builder無法build父類屬性的問題
這篇文章主要介紹了解決Lombok使用@Builder無法build父類屬性的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09springboot加載一個(gè)properties文件轉(zhuǎn)換為map方式
這篇文章主要介紹了springboot加載一個(gè)properties文件轉(zhuǎn)換為map方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07