讓人迷糊的interface和abstract
阿新 • • 發佈:2019-01-08
最近在做公司的一個專案的時候,看到他們的基礎程式碼的時候犯迷糊了
java 程式碼- publicinterface GenericModel extends Model
- {
- publicabstractvoid setId(String s);
- publicabstract String getId();
- publicabstractvoid setCreateDate(Date date);
- publicabstract Date getCreateDate();
- }
本來覺得自己對interface和abstract的理解已經透徹了,結果看了上面的程式碼還是疑問起來
為什麼要在接口裡面的方法定義為abstract??有必要嗎??
介面的方法不是預設為public abstract 的嗎,可能寫出來更明確些,但是卻讓新人更迷糊了
別人會問為什麼要加上,是否必要
所以我總結了下,interface和abstract的差異
可能最大的差異要算是類只能 extends一個父,而一個類可以有多個介面
abstract類可以有抽象的方法,也可以有實際的方法
而interface只能有抽象的方法
其他方面他們兩個到是很相像了