C++虛類相當於java中的抽像類,與接口的不同之處是:
1.一個子類只能繼承一個抽像類(虛類),但能實現多個接口
2.一個抽像類可以有構造方法,接口沒有構造方法
3.一個抽像類中的方法不一定是抽象方法,即其中的方法可以有實現(有方法體),接口中的方法都是抽象方法,不能有方法體,只有聲明
4.一個抽像類可以是public、private、protected、default,接口只有public
5.一個抽像類中的方法可以是public、private、protected、default,接口中的方法只能是public和default
相同之處是:都不能實例化。
補充說明:接口是一類特殊的抽像類,是更抽象的抽像類,你可能這樣理解。抽像類是一個不完整的類,接口只是定義了一些功能。打個比方,用抽像類和接口分別描述“狗”,抽像類就是在一般類之前加abstrict說:“豬能用四肢跑,豬和能這樣或者那樣...”,接口的話就只能說:“豬會跑,用什麼跑就是子類來講了”
以上這篇淺談java的接口和C++虛類的相同和不同之處就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。