接口和抽象類,有什么不同呢?現(xiàn)在,廣州達(dá)內(nèi)的老師,將從兩個(gè)大的方面為您解析接口和抽象類的不同!
一、接口和抽象類的區(qū)別
1、一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但卻只能繼承多一個(gè)抽象類。
2、抽象類可以包含具體方法;接口所有方法都是抽象的。
3、抽象類可以申明和使用字段;接口則不能,但可以創(chuàng)建靜態(tài)的final常量。
4、抽象類的方法可以是public、protected、private或者默認(rèn)的package;接口的方法都是public。
5、抽象類可以定義構(gòu)造方法;接口不行;
二、接口和抽象類的各自優(yōu)缺點(diǎn)
接口缺點(diǎn):如果向一個(gè)java接口加入一個(gè)新方法時(shí),所有實(shí)現(xiàn)這個(gè)接口的類都得編寫具體的實(shí)現(xiàn)。
接口優(yōu)點(diǎn):一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,接口可以讓這個(gè)類不僅具有主類型的行為,而且具有其他的次要行為,
抽象類的缺點(diǎn):一個(gè)類智能由一個(gè)超類繼承,所以抽象類座位類型定義工具的效能大打折扣
抽象類的優(yōu)點(diǎn):具體類可從抽象類自動(dòng)得到這些方法的缺省實(shí)現(xiàn)。
以上就是接口和抽象類之間的不同,希望有幫助到您!