1. 程式人生 > >_084_Java_介面(jdk1.8之前)和抽象類之間的關係

_084_Java_介面(jdk1.8之前)和抽象類之間的關係

No.

區別點

抽象類

介面

1

定義

包含一個抽象方法的類

抽象方法和全域性常量的集合

2

組成

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

常量、抽象方法

3

使用

子類繼承抽象類(extends)

子類實現介面(implements)

4

關係

抽象類可以實現多個介面

介面不能繼承抽象類,但允許繼承多個介面

5

常見設計模式

模板設計

工廠設計、代理設計

6

物件

都通過物件的多型性產生例項化物件

7

侷限

抽象類有單繼承的侷限

介面沒有此侷限

8

實際

作為一個模板

是作為一個標準或是表示一種能力

9

選擇

如果抽象類和介面都可以使用的話,優先使用介面,因為避免單繼承的侷限

10

特殊

一個抽象類中可以包含多個介面,一個介面中可以包含多個抽象類

在開發中,一個類不要去繼承一個已經實現好的類,要麼繼承抽象類,要麼實現介面。