虛方法virtual、抽象方法abstract、接口interface區別

接口、抽象類、抽象方法、虛方法:ide

這四個名詞時很是容易混淆的:繼承

首先說一下接口 與抽象類 的異同:接口

相同點:方法

1.他們都不能實例化本身,也就是說都是用來被繼承的。vi

2.抽象類中的抽象方法和接口方法同樣,都不能有方法體實例化

不一樣點:ab

1.抽象類裏能夠有字段,接口中不能有字段.實例

2.抽象類中的普通方法能夠有方法體,而接口方法沒有方法體。

3.接口中的方法不能有訪問修飾符,抽象類中的抽象方法被繼承,須要override重寫 .

4.接口更像是一種規範,一種約束。

5.一個子類只能繼承一個抽象類,但卻能夠繼承多個接口。

接下來是抽象方法 和虛方法 的異同:

其實能夠把抽象方法看作是沒有方法體的虛方法。

相同點:

1.抽象方法和虛方法均可以被重寫。

不一樣點:

1.abstract 和virtual的關鍵字不一樣

2.抽象方法必定沒有方法體,而虛方法能夠有方法體。

3.抽象方法必定須要override重寫,虛方法能夠不重寫。

相關文章
相關標籤/搜索