教你如何正確了解java三大特性!!!!
本章講解面向?qū)ο蟮娜筇匦裕?b>封裝,繼承,多態(tài)。
一.包Java定義了一種名字空間,稱之為包:package。一個(gè)類總是屬于某個(gè)包,類名(比如Person)只是一個(gè)簡(jiǎn)寫,真正的完整類名是 包名.類名。例如:apple 類放在包 banana 里面 完整類名是:banana.apple。
自定義包的語法:
package< 包名 >
注意:聲明一個(gè)包必須寫在類的第一行。
1.2 包的導(dǎo)入
如果要使用java中存在的包,可以在程序中使用import語句導(dǎo)入包。
格式如下:(注意中間有一個(gè)小點(diǎn))
import< 包名 >.< 類名 >
如果要導(dǎo)入一個(gè)包中的多個(gè)類,可以使用'*'表示包中所有的類。如上個(gè)例子完整代碼為:import banana.*。
二.繼承繼承就是子類繼承父類的特征和行為,使得子類對(duì)象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。
繼承的作用:通過繼承可以快速創(chuàng)建新的類,實(shí)現(xiàn)代碼的重用,提高程序的可維護(hù)性,節(jié)省大量創(chuàng)建新類的時(shí)間,提高開發(fā)效率和開發(fā)質(zhì)量。
java的繼承語法格式如下:
[修飾符] class 子類名 [extends 父類名]{//類定義部分}
例如:banana是一個(gè)類,apple是一個(gè)類,將banana設(shè)為apple的父類
public class apple extends banana{//內(nèi)容}
注意!1.java中的繼承為單繼承,即一個(gè)子類只能有一個(gè)直接的父類。
2.子類不能選擇性繼承父類;
3.Java不支持多重繼承,但一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,從而克服單繼承的缺點(diǎn);
4.構(gòu)造方法不會(huì)被子類繼承,但可以從子類中調(diào)用父類的構(gòu)造方法。
三:重載和重寫3.1重載(Overload)在同一個(gè)類中,同名的方法有不同的參數(shù)列表(參數(shù)類型不同,參數(shù)個(gè)數(shù)不同,甚至是參數(shù)順序不同)即為重載,重載對(duì)返回類型無要求,可以相同,也可以不同,但不能通過返回類型是否相同來判斷重載.
注意以下幾點(diǎn):
(1)同一類中方法名相同,參數(shù)列表不同。
(2)返回值類型不能用于區(qū)分方法的重載。
提醒:構(gòu)造方法也可以實(shí)現(xiàn)方法的重載
3.2 重寫重寫,即重新寫一遍。即在子類中把父類本身具有的方法重新寫一次。子類擴(kuò)展了父類,子類是一個(gè)特殊的父類。子類以父類為基礎(chǔ),額外增加新的屬性和方法。
重寫的規(guī)則:
1.發(fā)生在之類與父類之間
2.父類中的私有方法不能被重寫
3.重寫父類方法時(shí),訪問權(quán)限不能比父類低,拋出異常不能比父類的異常范圍廣或拋出新的異常
4.父類有靜態(tài)方法時(shí),子類必須通過靜態(tài)方法進(jìn)行重寫
重載與重寫的區(qū)別:
1.重載發(fā)生在一個(gè)類里面
2.重寫發(fā)生在父類與子類之間。
四:多態(tài)多態(tài)指同一操作作用于不同對(duì)象,可以有不同的解釋,以致產(chǎn)生不同的執(zhí)行結(jié)果。
多態(tài)體現(xiàn)為父類引用變量可以指向子類對(duì)象
前提條件:必須要有子父類關(guān)系。
注意:在使用多態(tài)后的父類引用變量調(diào)用方法時(shí),會(huì)調(diào)用子類重寫后的方法。
4.1 多態(tài)的轉(zhuǎn)型多態(tài)的轉(zhuǎn)型分為向上轉(zhuǎn)型和向下轉(zhuǎn)型兩種:
向上轉(zhuǎn)型:多態(tài)本身就是向上轉(zhuǎn)型過的過程
使用格式:
父類類型 變量名=new 子類類型();
適用場(chǎng)景:當(dāng)不需要面對(duì)子類類型時(shí),通過提高擴(kuò)展性,或者使用父類的功能就能完成相應(yīng)的操作。
向下轉(zhuǎn)型:一個(gè)已經(jīng)向上轉(zhuǎn)型的子類對(duì)象可以使用強(qiáng)制類型轉(zhuǎn)換的格式,將父類引用類型轉(zhuǎn)為子類引用各類型
4.2 instanceofinstanceof運(yùn)算符的前一個(gè)操作數(shù)通常是一個(gè)引用類型變量,后一個(gè)操作數(shù)通常是一個(gè)類,它用于判斷運(yùn)算符前面的引用變量是否是運(yùn)算符后面的類型或其子類型的實(shí)例。
注意!使用instanceof運(yùn)算符時(shí),需要注意instancecof運(yùn)算符前面操作數(shù)的編譯時(shí),類型要么與后面的類相同,要么與后面的類具有父子繼承關(guān)系,否則會(huì)引起編譯失誤。
總結(jié)本篇文章就到這里了,希望可以給你帶來一些幫助,也希望您能夠多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!
相關(guān)文章:
