一、兩者的概念對比圖
接口和抽象類,老生常談的概念,下面直接上一張自己總結(jié)的對比圖

接口和抽象類對比圖
二、兩者的具體用法
具體的用法,直接用具體用例來說明
接口:定義的功能。在寫控件或者常用的類的時候,我們首先會通篇考慮,定義好一些rules,來約束后面的行為。
抽象類:實現(xiàn)方法或者被子類實現(xiàn)的抽象方法。
eg1:接口:BaseActivity的定義,我首先會考慮BaseActivity將要寫哪些方法,而不是想到哪些方法再去寫。那么我會先寫個接口,將我即將實現(xiàn)的方法,全部定義出來。

BaseActivity-接口定義
eg1:接下來,我們用抽象類實現(xiàn)接口中定義的部分方法

BaseActivity-抽象類的定義
eg1:在BaseActivity的抽象類里,我們實現(xiàn)了在接口中定義的openActivity這個抽象方法,同時,我們定義了praseJson這個抽象方法(網(wǎng)絡(luò)請求的返回方法)。那么我們在具體的Activity中繼承BaseActivity的時候,如果有網(wǎng)絡(luò)請求的話,我們可以直接重寫praseJson這個方法就可以了。

BaseActivity-繼承重寫
eg2:在寫自定義控件或者動畫的時候,定義我們可能會用到的方法。發(fā)送花的動畫,首先定義花的路徑和花的行為方法

動畫-接口定義1

動畫-接口定義2
上班了,先寫到這。。。忽略上面古老的定義方法,很早寫的框架