抽象類和介面

2021-09-01 15:42:35 字數 1254 閱讀 6030

1、抽象類必須被繼承,抽象方法必須被重寫(如果不被繼承以及抽象方法不被重寫,那麼類裡面的一些功能就無法對外界實現)。抽象方法只需宣告而不需要實現(也就是說宣告乙個抽象方法的時候不需要加大括號,無主體),具體的功能可以在子類的重寫方法中進行實現(也就是說通過子類對抽象類中,所有的抽象方法的重寫來實現抽象類中的功能)。

2、抽象類不能被new例項化(例項化沒意義,因為抽象類裡面的抽象方法沒有方法體,沒有具體的方法實現,即使呼叫了也沒有意義),通過多型進行向上轉型例項化它的子類。

3、如果類中包含抽象方法,那麼類必須定義為抽象類,不論是否還包含其它一般方法抽象方法即使有返回型別也不需要用return

4、抽象類與普通類的區別:當設計乙個新的抽象類時,那麼這個抽象類一定是用來繼承的;而普通類不是用來繼承的。

***抽象的好處:強迫子類去做某些事(子類必須把抽象類中的所有抽象方法都重寫)。

***不能和抽象類共用的關鍵字:private、final、static。

5、介面(inte***ce):是抽象方法和常量值的定義的集合(本質上講介面就是乙個抽象類(是乙個方法都是抽象的抽象類))

6、在介面裡面定義乙個方法就是抽象方法

7、介面中存放的內容就兩個:抽象方法和變數,介面中的成員都是公用的(public)。

8、只要是介面(inte***ce),它裡面的成員都有固定的修飾符。public static final用來修飾變數的。public abstract 用來修飾抽象方法。如果你不加上話,系統會自動給加上。

9、介面的特點及應用:

a介面是對外暴露的一種規則

b是程式對外的乙個功能擴充套件

c介面的出現降低了程式的耦合性(事物的緊密聯絡程度)

d介面的出現可以實現多繼承(介面叫多實現)

***抽象類與介面的區別***:

a定義:抽象類是至少包含乙個抽象方法的類,而介面是抽象方法和全域性常量的集合。

b組成:抽象類中可以有構造方法、抽象方法、普通方法、常量、變數。介面是由常量和抽象方法組成。

c使用:子類繼承抽象類(extends),子類實現介面(implements)

d關係:抽象類可以實現多個介面,介面不能繼承抽象類,但允許繼承多個介面(因為介面裡面的方法沒有主體)

e物件:都通過物件的多型產生例項化物件

f侷限:抽象類有單繼承的侷限,介面沒有此侷限

g選擇:如果抽象類和介面都可以使用的話,可以優先使用介面,這樣可以避免單繼承的侷限

h特殊:乙個抽象類中可以包含多個介面,乙個介面也可以包含多個抽象類(當然這個抽象類必須是只含有抽象方法和常量)

介面和抽象類

介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...

抽象類和介面

抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...

抽象類和介面

1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...