201711671103《Java程式設計》第六週學習總結
教材學習內容總結
1.繼承是一種由已有的類創造新的類的機制,可以利用繼承,先定義一個共有屬性的一般類,根據該一般類再定義具有特殊屬性的子類,子類一般繼承類的屬性和行為。java不支援多重繼承。
2.在類的宣告中,用extends定義一個類的子類,如果沒有使用extends,這個類被系統預設是object的子類。
3.子類繼承父類的成員變數作為自己的成員變數,可以被類中增加定義的任何例項方法操作。
4.如果子類父類在同一個包,子類可以繼承父類中不是私有的成員變數和方法,及公用,保護,友元作為自己的成員變數和方法;
如果子類父類不在同一個包,子類只能繼承公用和保護的成員變數和方法。
5.當子類的構造方法中建立了一個子類的物件時,不僅子類中宣告的成員變數被分配了記憶體,而且父類的成員變數也都分配了記憶體空間,但子類只能操作繼承的那部分成員變數。
6.instanceof運算子,其左面的操作元是物件,右邊是類,判斷物件是否屬於類,結果true、false。
7.當子類所宣告的成員變數與父類的成員變數名字相同時,子類就會隱藏所繼承的成員變數
8.方法重寫:是指子類中定義一個方法,這個方法的型別俄父類的方法型別一致或者父類的方法的型別的子型別,且這個方法的名字、引數個數、引數型別和父類的方法完全相同;子類可以通過重寫隱藏已繼承的方法,通過方法的重寫可以把父類的狀態和行為改變自身的狀態和行為。
9.重寫不允許降低方法的訪問許可權,可以提高訪問許可權。訪問許可權從高到低為:public,protected,友好的,private。
10.子類使用關鍵字super訪問和呼叫被子類隱鰺的成員變數和方法。
11.如果子類的構造方法沒有明確指明使用父類那個構造方法,子類就呼叫父類的不帶引數的構造方法。
12.子類不繼承父類的構造方法,故子類需在其構造方法中使用super來呼叫父類的構造方法。
13.final關鍵字修飾類,成員變數和方法中的區域性變數,但final類不能被繼承。
14.物件的上轉型物件:A類是B類的父類,當用子類建立一個物件,並把這個物件的引用放到父類的物件中時,稱物件a是物件b的上轉型物件。
上轉型物件的使用:①.上轉型物件不能操作子類新增的成員變數;不能呼叫子類新增的方法。 ②.上轉型物件可以訪問子類繼承或隱藏的成員變數,也可以呼叫子類繼承的方法或子類重寫的例項方法。③. 如果子類重寫了父類的某個例項方法後,當用上轉型物件呼叫這個例項方法時一定是呼叫了子類重寫的例項方法。
15.多型性就是指父類的某個方法被其子類重寫時,可以各自產生自己的功能行為。
16.用關鍵字abstract修飾的類稱為abstract類(抽象類)。用關鍵字abstract修飾的方法稱為abstract方法(抽象方法)
abstract類有如下特點 :①和普通的類相比,abstract類裡可以有abstract方法。也可以沒有。對於abstract方法,只允許宣告,不允許實現,而且不允許使用final修飾abstract方法。
② 對於abstract類,不能使用new運算子建立該類的物件,只能產生其子類,由子類建立物件。
③如果一個類是abstract類的子類,它必須具體實現父類的所有的abstract方法。
教程學習中遇到的問題和解決方案
對於很多新的概念不是很熟悉,就像物件的上轉型物件,不是很能理解它的例子。自己把書上的例子上機打了一遍,不懂的地方也問了同學,感覺清楚了。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | |
目標 | 5000行 | 15篇 | 200個小時 |
第一週 | 200 | 1 | 3 |
第二週 | 500 | 2 | 12 |
第五週 | 1000 | 3 | 16 |
第六週 | 800 | 4 | 10 |
參考資料
java實用2教程