201711671115 《Java程式設計》第六章學習總結
一·教材學習內容總結
1.為了克服Java單繼承的缺點,Java使用了介面,一個類可以實現多個介面。使用關鍵字interface來定義一個介面。介面的定義和類的定義很相似,分為介面的宣告和介面體。
介面宣告:
–介面通過使用關鍵字interface來宣告
–格式:interface 介面的名字
介面體:
介面體中包含常量定義和方法定義兩部分。介面體中只進行方法的宣告,不許提供方法的實現,所以,方法的定義沒有方法體,且用分號“;”結尾。
2.介面的變數和方法的構成規則:
1)介面中的變數自動都是public、static,final,
2)介面中的方法預設為public abstract
3)介面中的方法不能被static和final修飾,因為要重寫所有介面中的方法。
4)介面中沒有建構函式,方法可以丟擲異常。
3.實現介面
1)一個類通過使用關鍵字implements宣告自己實現一個或多個介面。
如:class A implements Printable,Addable
2)如果一個類實現了某個介面,那麼這個類必須重寫該介面的所有方法。
3)介面可以通過繼承產生新的介面。
4)Java提供的介面都在相應的包中,通過import語句不僅可以引入包中的類,也可以引入包中的介面,
例如:import java.io.*;
4.介面回撥:
5.理解介面:
1)介面可以抽象出重要的行為標準,該行為標準用抽象方法來表示。
2)可以把實現介面的類的物件的引用賦值給介面變數,該介面變數可以呼叫被該類實現的介面方法,即體現該類根據接口裡的行為標準給出的具體行為。
注:介面的思想在於它可以要求某些類有相同名稱的方法,但方法的具體內容(方法體的內容)可以不同,即要求這些類實現介面,以保證這些類一定有介面中所宣告的方法(即所謂的方法繫結)。介面在要求一些類有相同名稱的方法的同時,並不強迫這些類具有相同的父類。
6.介面與多型:
可以通過在介面中宣告若干個abstract方法,表明這些方法的重要性,方法體的內容細節由實現介面的類去完成。使用介面進行程式設計的核心思想是使用介面回撥,即介面變數存放實現該介面的類的物件的引用,從而介面變數就可以回撥類實現的介面方法。
7.介面引數:
如果一個方法的引數是介面型別,我們就可以將任何實現該介面的類的例項的引用傳遞給該介面引數,那麼介面引數就可以回撥類實現的介面方法。
8.介面和abstract類的比較如下:
1)abstract類和介面都可以有abstract方法。
2)介面中只可以有常量,不能有變數;而abstract類中即可以有常量也可以有變數。
3)abstract類中也可以有非abstract方法,介面不可以。