更新時(shí)間:2020-02-12 09:54:07 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2482次
接口
接口和內(nèi)部類為我們提供了一種接口和實(shí)現(xiàn)分離的更加結(jié)構(gòu)化的方法
抽象類和抽象方法
抽象方法:僅有聲明而沒有方法體。語法:abstractvoidf();
抽象類:包含抽象方法的類叫做抽象方法。如果一個(gè)類包含一個(gè)或多個(gè)抽象方法,該類必須被限定為抽象的。必須用abstract來關(guān)鍵字來限定為抽象的。
如果一個(gè)子類沒有實(shí)現(xiàn)父類的抽象方法,則子類也是抽象方法。
1用abstract關(guān)鍵字來修飾一個(gè)類時(shí),這個(gè)類叫做抽象類;用abstract來修飾一個(gè)方法時(shí),該方法叫做抽象方法。
2含有抽象方法的類必須被聲明為抽象類,抽象類必須被繼承,抽象方法必須被重寫。
3抽象類不能被實(shí)例化。
4抽象方法只需聲明,而不需實(shí)現(xiàn)某些功能。
接口
接口:在JAVA編程語言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個(gè)類通過繼承接口的方式,從而來繼承接口的抽象方法。
接口與類區(qū)別:
接口不能用于實(shí)例化對象。
接口沒有構(gòu)造方法。
接口中所有的方法必須是抽象方法。
接口不能包含成員變量,除了static和final變量。
接口不是被類繼承了,而是要被類實(shí)現(xiàn)。
接口支持多繼承。
接口的特點(diǎn):
1.接口可以多繼承
2.接口的方法聲明必須是publicabstract即便不寫默認(rèn)也是
3.接口里面不能包含方法具體實(shí)現(xiàn)
4.類實(shí)繼承接口必須實(shí)現(xiàn)接口里申明的全部方法,除非該類是抽象類
5.類里面可以聲明publicstaticfinal修飾的變量
6.接口不能被實(shí)例化,但是可以被實(shí)現(xiàn)類創(chuàng)建
什么時(shí)候使用抽象類和接口
如果你擁有一些方法并且想讓它們中的一些有默認(rèn)實(shí)現(xiàn),那么使用抽象類吧。
如果你想實(shí)現(xiàn)多重繼承,那么你必須使用接口。由于Java不支持多繼承,子類不能夠繼承多個(gè)類,但可以實(shí)現(xiàn)多個(gè)接口。因此你就可以使用接口來解決它。
如果基本功能在不斷改變,那么就需要使用抽象類。如果不斷改變基本功能并且使用接口,那么就需要改變所有實(shí)現(xiàn)了該接口的類。
Java的多重繼承
當(dāng)一個(gè)導(dǎo)出類組合了具體類和接口的時(shí)候,這個(gè)具體類必須放在前面。如果需要?jiǎng)?chuàng)建不帶任何方法定義和成員變量的基類,那么就需要選擇接口,接口可以通過繼承來擴(kuò)展接口。
打算組合的不同接口使用相同的方法名通常會(huì)造成代碼可讀性的混亂,盡量避免
接口中域
因?yàn)榉湃虢涌谥械娜魏斡蚨甲詣?dòng)是static和final的,接口成了一組很便捷的用來創(chuàng)建常量組的工具
接口中定義的域不能是空final的,但是可以被常量表達(dá)式初始化。這些域不是接口的一部分,他們的值被存儲在該接口的靜態(tài)存儲域內(nèi)。
接口與抽象類的區(qū)別
動(dòng)力節(jié)點(diǎn)Javase相關(guān)視頻免費(fèi)下載學(xué)習(xí)
Javase視頻教程【301集】:http://www.ilovecolors.com.cn/v104/
Java視頻下載【JavaSE進(jìn)階】:http://www.ilovecolors.com.cn/v61/
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Javase進(jìn)階基礎(chǔ)視頻-接口”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
最新Java學(xué)習(xí)路線(適用于初學(xué)者)
系統(tǒng)學(xué)習(xí)Java后端開發(fā)線路
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743