avin接口有什么用 Java的接口和C 的虛類(lèi)的相同和不同處?
Java的接口和C 的虛類(lèi)的相同和不同處?c虛擬類(lèi)相當(dāng)于Java中的抽象類(lèi)。虛擬類(lèi)和接口之間的區(qū)別如下:1。一個(gè)子類(lèi)只能繼承一個(gè)抽象類(lèi)(虛擬類(lèi)),但可以實(shí)現(xiàn)多個(gè)接口;2。抽象類(lèi)可以有構(gòu)造方法,但接口
Java的接口和C 的虛類(lèi)的相同和不同處?
c虛擬類(lèi)相當(dāng)于Java中的抽象類(lèi)。虛擬類(lèi)和接口之間的區(qū)別如下:
1。一個(gè)子類(lèi)只能繼承一個(gè)抽象類(lèi)(虛擬類(lèi)),但可以實(shí)現(xiàn)多個(gè)接口;
2。抽象類(lèi)可以有構(gòu)造方法,但接口沒(méi)有構(gòu)造方法;
3。抽象類(lèi)中的方法不一定是抽象方法,即方法可以有實(shí)現(xiàn)(帶方法體),可以連接到接口,抽象類(lèi)中的方法可以是public、private、protected、default、only聲明;
4。抽象類(lèi)可以是public,private,protected,default,
接口只能是public
5。抽象類(lèi)中的方法可以是public、private、protected、default,
接口中的方法只能是public和default。
相似性:它們不能實(shí)例化。
附加說(shuō)明:接口是一種特殊的抽象類(lèi),更為抽象。你可以這樣理解。抽象類(lèi)是一個(gè)不完整的類(lèi),接口只定義了一些函數(shù)。例如,分別用抽象類(lèi)和接口來(lái)描述“pig”。抽象類(lèi)是在普通類(lèi)之前加抽象,意思是:豬可以四腳朝天跑,豬還能做什么?在接口的情況下,pigs只能運(yùn)行,運(yùn)行什么是子類(lèi)的問(wèn)題。
類(lèi)和接口的區(qū)別?
1. 接口類(lèi)似于類(lèi),但其成員沒(méi)有執(zhí)行模式。它只是方法、屬性、事件和索引的組合,只能包含這四種成員。除了這四種成員之外,類(lèi)還可以有其他成員(例如字段)。
2. 不能實(shí)例化只包含成員簽名的接口,而可以實(shí)例化類(lèi)(抽象類(lèi)除外)。
3. 接口沒(méi)有構(gòu)造函數(shù),類(lèi)有構(gòu)造函數(shù)。
4. 接口不能重載運(yùn)算符,類(lèi)可以重載運(yùn)算符。
5. 接口的成員沒(méi)有任何修飾符,并且它們的成員總是公共的,而類(lèi)的成員可以有修飾符(例如虛擬的或靜態(tài)的)。
6. 從接口派生的類(lèi)必須實(shí)現(xiàn)接口所有成員的執(zhí)行,但不能從類(lèi)派生。