201711671129《Java程式設計》第7周學習總結
教材學習內容總結
介面與實現
6.1介面
interface 用於定義介面,與類的定義相似,例如:
interface Printable{
final int Max=100;
void add();
float sum(float x ,float y);
}
介面體中包含常量的宣告(沒有變數)和抽象方法兩部分;只有抽象方法,沒有普通的方法;訪問許可權必須為public,常量是static常量。
6.2 實現介面
用關鍵字 implements 宣告該類實現一個或多個介面。
如:class A implements Printable, Addable
如果一個非抽象類實現了某個介面,那麼這個類必須重寫這個介面中的所有方法。(注:由於介面中的方法一定是 public abstract 方法,所以重寫時不僅要去掉 abstract、給出方法體,還必須用 public 來修飾,以防降低許可權)
抽象類既可以重寫介面中的方法,也可以直接擁有介面中的方法。
介面可被繼承,可通過關鍵字 extends 宣告一個介面是另一個介面的子介面。
6.4 介面回撥
用介面宣告的變數稱作介面變數。 介面屬於引用型變數。
介面回撥是指:可以把實現某一介面的類建立的物件的引用賦給該介面宣告的介面變數,那麼該介面變數就可以呼叫被類實現的介面方法。
6.5 理解介面
理解的關鍵點是:
(1)介面可以抽象出重要的行為標準,該行為標準用抽象方法來表示。
(2)可以把實現介面的類的物件的引用賦值給介面變數,該介面變數可以呼叫被該類實現的介面方法,即體現該類根據接口裡的行為標準給出的具體行為。
介面的思想:它可以要求某些類有相同名稱的方法,但方法的具體內容(方法體的內容)可以不同,即要求這些類實現介面,以保證這些類一定有介面中所宣告的方法(即所謂的方法繫結)。介面在要求一些類有相同名稱的方法的同時,並不強迫這些類具有相同的父類。
6.6 介面與多型
和子類體現多型類似,由介面產生的多型就是指不同的類在實現同一個介面時可能具有不同的實現方式
在使用多型設計程式時,要熟練使用介面回撥技術以及面向介面程式設計的思想,以便體現程式設計所提倡的“開-閉原則”。
教材學習中的問題和解決過程
程式碼除錯中的問題和解決過程
介面中不能宣告變數;介面中的常量必須指定初值
其他(感悟、思考等,可選)
當介面變數中存放了實現介面的類的物件的引用之後,介面的變數就可以呼叫類實現的介面方法。
學習進度條
程式碼行數 | 部落格量 | 學習時間 | |
目標 | 5000 | 20 | 120 |
第4、5周 | 200 | 4/20 | |
第6周 | <300 | 5/20 |
參考資料
·Java學習筆記
·《Java學習筆記(第8版)》學習指導