接口:
接口里只能包含抽象方法,不同包含已經(jīng)提供實(shí)現(xiàn)的方法
接口里只能定義靜態(tài)常量屬性,不能定義普通屬性。
接口不包含構(gòu)造器
抽象類:
抽象類則完全可以包含普通方法。
抽象類里可以定義靜態(tài)方法。
抽象類里則既可以定義普通屬性,也可以定義靜態(tài)常量屬性。
抽象類里可以包含構(gòu)造器,抽象類里的構(gòu)造器并不是用于創(chuàng)建對象,而讓其子類調(diào)用這些構(gòu)造器來完成屬于抽象類的初始化操作。
一個類最多只能有一個直接父類,包括抽象類。但一個類可以有多個接口,來彌補(bǔ)Java單繼承的不足。