1. 程式人生 > >Java基礎知識回顧之介面

Java基礎知識回顧之介面

抽象類與介面的區別:

No.

區別

抽象類

介面

1

關鍵字

abstract class

interface

2

組成

構造方法、普通方法、抽象方法、static方法、常量、變數

抽象方法、全域性常量

3

子類使用

class 子類 extends 抽象類

class 子類 implements 介面,介面...

4

關係

抽象類可以實現多個介面(因為抽象類也是一個類物件)

介面不能夠繼承抽象類,但是可以繼承多個父介面

5

許可權

可以使用各種許可權(訪問許可權)

只能使用 public 許可權

6

限制

單繼承侷限(一個子類只能夠繼承一個父抽象類)

沒有單繼承侷限

7

子類

抽象類和介面都必須有子類,子類必須要覆寫全部的抽象方法

8

例項化物件

依靠子類物件的向上轉型進行物件的例項化

經過比較發現,抽象類中支援的功能比介面更多,但是隻有一點不好,那就是單繼承侷限,所以這重要的一點就掩蓋了所有抽象類的優點。即:當抽象類和介面都可以使用的時候,優先使用介面。

總體來說:抽象類就是更加具有“類”的特性;介面就更加的抽象。

附:

Java基礎知識回顧之介面

Java基礎知識回顧之抽象類