1. 程式人生 > >Java 中 Interface與abstract類的區別和相同點

Java 中 Interface與abstract類的區別和相同點

相同點 (1).都不能例項化 (2).都包含抽象方法 區別 (1).設計目的不同,介面作為系統和外界互動的 視窗,體現的是一種規範;抽象類作為系統中多個子類的共同父類,體現的是一種模板設計。 (2).介面中只包含預設方法和抽象方法。抽象類可以包含普通方法。 (3).介面只能定義靜態常量;抽象類可以定義普通成員變數。 (4).介面不能定義靜態方法,抽象類可以定義靜態方法。 (5).介面不包括構造器,抽象類包括構造器(作用不是建立物件,而是對抽象類進行初始化)。 (6).介面不能包括初始化塊,但是抽象類可以。 (7).一個類最多繼承一個直接父類(普通類或者抽象類),可以實現多個介面。