淺談java的接口和C++虛類的相同和不同之處
C++虛類相當(dāng)于java中的抽象類,與接口的不同之處是:
1.一個(gè)子類只能繼承一個(gè)抽象類(虛類),但能實(shí)現(xiàn)多個(gè)接口
2.一個(gè)抽象類可以有構(gòu)造方法,接口沒有構(gòu)造方法
3.一個(gè)抽象類中的方法不一定是抽象方法,即其中的方法可以有實(shí)現(xiàn)(有方法體),接口中的方法都是抽象方法,不能有方法體,只有聲明
4.一個(gè)抽象類可以是public、private、protected、default,接口只有public
5.一個(gè)抽象類中的方法可以是public、private、protected、default,接口中的方法只能是public和default
相同之處是:都不能實(shí)例化。
補(bǔ)充說明:接口是一類特殊的抽象類,是更抽象的抽象類,你可能這樣理解。抽象類是一個(gè)不完整的類,接口只是定義了一些功能。打個(gè)比方,用抽象類和接口分別描述“狗”,抽象類就是在一般類之前加abstrict說:“豬能用四肢跑,豬和能這樣或者那樣...”,接口的話就只能說:“豬會(huì)跑,用什么跑就是子類來講了”
以上這篇淺談java的接口和C++虛類的相同和不同之處就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 在PDF中添加頁面跳轉(zhuǎn)按鈕功能(代碼演示)
這篇文章主要介紹了Java 在PDF中添加頁面跳轉(zhuǎn)按鈕功能,本文給大家提供了多種功能的按鈕,需要的朋友可以參考下2019-11-11Springboot過濾器禁止ip頻繁訪問功能實(shí)現(xiàn)
這篇文章主要介紹了Springboot過濾器禁止ip頻繁訪問功能實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

SpringBoot2.3.0配置JPA的實(shí)現(xiàn)示例

Java下http下載文件客戶端和上傳文件客戶端實(shí)例代碼

Java開發(fā)如何把數(shù)據(jù)庫里的未付款訂單改成已付款

Java進(jìn)階學(xué)習(xí):jar打包詳解

JAVA基于Redis實(shí)現(xiàn)計(jì)數(shù)器限流的使用示例