公司:#小米 #滴滴
崗位:#自動化測試工程師
關鍵字:#adb #Android #移動端app #Appium #java
相同點:
1、都不能被實例化
2、接口的實現類或者抽象類的子類都必須實現了接口或抽象類中的方法后才可以被實例化
不同點:
1、抽象類可以包含非抽象的方法,而接口中的方法必須是抽象的。
2、繼承抽象類在Java語言體系中體現一種繼承關系,在合理的繼承關系中,父類和派生類比如按存在is-a關系。而實現接口則體現一種has-a關系,實現者僅僅是實現了interface定義的契約而已。
3、抽象類中可以有成員變量,而接口中不能有成員變量。
4、抽象類和接口中都可以包含靜態成員變量,抽象類中的靜態成員變量的屬性可以是任意的,而接口中的靜態成員變量默認且必須是public static final。
5、接口中的抽象方法默認且必須都是public的,而抽象類中的抽象方法可以是public、protect或默認。
6、抽象類中可以有構造方法,但是不能實例化。
7、抽象類中可以有靜態方法(非抽象的),而接口中不能有靜態方法。