2022-12-12 21:12:27|已瀏覽:92次
java接口和抽象類的主要區別
java接口和抽象類的主要區別:java接口和抽象類的主要區別包括接口使用關鍵字interface來定義,抽象類使用關鍵字abstract來定義;接口使用implements關鍵字定義其具體實現,java培訓抽象類使用extends關鍵字實現繼承。除以上兩點以外還包括子類擴展的數量不同、屬性訪問控制符不同等等。
1、定義關鍵字不同
接口使用關鍵字interface來定義,抽象類使用關鍵字abstract來定義。
3、繼承或實現的關鍵字不同
接口使用implements關鍵字定義其具體實現,java培訓抽象類使用extends關鍵字實現繼承。
3、子類擴展的數量不同
接口的實現類可以有多個,而抽象類的子類,只能繼承一個抽象類,在Java語言中,一個類只能繼承一個父類(單繼承),但可以實現多個接口。
4、屬性訪問控制符不同
接口中屬性的訪問控制符只能是public,接口中的屬性默認是public static final修飾的。抽象類中的屬性訪問控制符無限制,可為任意控制符。
5、方法控制符不同
接口中方法的默認控制符是public,并且不能定義為其他控制符,抽象類中的方法控制符無限制,其中抽象方法不能使用private修飾。
6、方法實現不同
接口中普通方法不能有具體的方法實現,在JDK 8之后static和default方法必須有方法實現,static或default方法如果沒有方法實現就會報錯,而普通方法如果有方法實現就會報錯。
抽象類中普通方法可以有方法實現,抽象方法不能有方法實現,抽象類中的普通方法如果沒有方法實現就會報錯,而抽象方法如果有方法實現則會報錯。
7、靜態代碼塊使用不同
接口中不能使用靜態代碼塊,抽象類中可以使用靜態代碼塊。
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-75012.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注java培訓頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050