java接口和抽象類的主要區(qū)別
java接口和抽象類的主要區(qū)別:java接口和抽象類的主要區(qū)別包括接口使用關(guān)鍵字interface來定義,抽象類使用關(guān)鍵字abstract來定義;接口使用implements關(guān)鍵字定義其具體實(shí)現(xiàn),java培訓(xùn)抽象類使用extends關(guān)鍵字實(shí)現(xiàn)繼承。除以上兩點(diǎn)以外還包括子類擴(kuò)展的數(shù)量不同、屬性訪問控制符不同等等。
java接口和抽象類的主要區(qū)別:
1、定義關(guān)鍵字不同
接口使用關(guān)鍵字interface來定義,抽象類使用關(guān)鍵字abstract來定義。
3、繼承或?qū)崿F(xiàn)的關(guān)鍵字不同
接口使用implements關(guān)鍵字定義其具體實(shí)現(xiàn),java培訓(xùn)抽象類使用extends關(guān)鍵字實(shí)現(xiàn)繼承。
3、子類擴(kuò)展的數(shù)量不同
接口的實(shí)現(xiàn)類可以有多個(gè),而抽象類的子類,只能繼承一個(gè)抽象類,在Java語言中,一個(gè)類只能繼承一個(gè)父類(單繼承),但可以實(shí)現(xiàn)多個(gè)接口。
4、屬性訪問控制符不同
接口中屬性的訪問控制符只能是public,接口中的屬性默認(rèn)是public static final修飾的。抽象類中的屬性訪問控制符無限制,可為任意控制符。
5、方法控制符不同
接口中方法的默認(rèn)控制符是public,并且不能定義為其他控制符,抽象類中的方法控制符無限制,其中抽象方法不能使用private修飾。
6、方法實(shí)現(xiàn)不同
接口中普通方法不能有具體的方法實(shí)現(xiàn),在JDK 8之后static和default方法必須有方法實(shí)現(xiàn),static或default方法如果沒有方法實(shí)現(xiàn)就會(huì)報(bào)錯(cuò),而普通方法如果有方法實(shí)現(xiàn)就會(huì)報(bào)錯(cuò)。
抽象類中普通方法可以有方法實(shí)現(xiàn),抽象方法不能有方法實(shí)現(xiàn),抽象類中的普通方法如果沒有方法實(shí)現(xiàn)就會(huì)報(bào)錯(cuò),而抽象方法如果有方法實(shí)現(xiàn)則會(huì)報(bào)錯(cuò)。
7、靜態(tài)代碼塊使用不同
接口中不能使用靜態(tài)代碼塊,抽象類中可以使用靜態(tài)代碼塊。
想了解更多相關(guān)資訊請(qǐng)關(guān)注java培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注賦能網(wǎng)了解更多:4008-569-579
本文鏈接:
本文章“java接口和抽象類的主要區(qū)別”已幫助 59 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579