1. 程式人生 > >抽象類和介面有什麼異同?

抽象類和介面有什麼異同?

相同點:
1.都不能被例項化
2.介面的實現類或者抽象的子類都必須實現類介面或者繼承了抽象才可以被例項化
不同點:
1.介面只有定義,方法不能再介面中實現,實現介面的類要實現介面中的所有方法;抽象類可以有定義與實現方法可以在抽象類中實現
2.介面要實現,抽象要繼承,一個類可以實現多個介面,但只能繼承一個抽象類
3.介面強調設計理念“has-a”的關係,抽象類強調“is-a”關係
4.介面中定義變數預設為public、static、final且要設定初始值方法必須是publicstatic只能是這兩個抽象類可以有自己的成員變數也可以有非抽象的成員方法,成員預設值為:default
5.介面被運用於比較常用的功能,抽象更傾向於充當公共類的角色
6.介面是定義規範的,抽象是對公共部分的抽取