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