20175205 2018-2019-2 《Java程序設計》第五週學習總結
教材學習內容總結
- 接口:使用關鍵字interface定義接口
- 接口聲明:interface 接口名
- 接口體:接口體中均是抽象方法(可省略public final static abstract)
- 實現接口
- 類實現接口:用關鍵字implements聲明該類實現一個或多個接口
- 重寫接口中的方法
- 若非抽象類實現該接口,則必須重寫全部方法,而且加public(給出具體行爲)
- 若抽象類實現該接口,可直接擁有其方法
- 接口中的細節說明
- 接口的UML圖:虛線,起始端是類,終止端是接口
- 名字層:名字是斜體,用<
>修飾
- 常量層:常量名字:類型
- 方法層:方法名字(參數列表):類型
- 接口回調
- 接口也是一種數據類型,生命的變量稱爲接口變量
- 將實現該接口的類的對象的引用賦給該接口聲明的接口變量,則接口變量就能夠調用被類實現的接口方法
- 理解接口
- 抽象出重要的行爲標準(和抽象方法相同)
- 能夠把實現該接口的類的對象的引用賦給該接口聲明的接口變量,則接口變量就能夠調用被類實現的接口方法
- 接口與多態
- 接口參數:將實現該接口的類的對象的引用傳給該接口參數
- abstract類與接口的比較
- 都可以有abstract方法
- 接口中只能有常量,不能有變量
- abstract類中能夠有非abstract方法,接口不能夠
- 若果某個問題須要繼承解決,不只須要重寫父類的abstract方法,還須要繼承一些變量等,則考慮abstract類
教材學習中的問題和解決過程
- 問題1:書後習題B選項'abstract'和'static'爲何不能寫在一塊兒
下列接口中標註的(A,B,C,D)中,哪兩個是錯誤的?
interface Takecare{
protected void speakHello();
public abstract static void cry();
int f();
abstract float g();
}
- 問題1解決方案:static 是能夠在沒有實例的狀況下調用,但標記爲 abstract 後就沒有實現沒有實例調用。對於 Java,一我的不會憑空想出來 abstract 和 static 同時修飾的方法,由於一個 static 方法必須經過類名調用。而若是像我上面說的那樣,規定一個類的子類必須有某種 static 方法,那麼那個方法也必須至少一次經過子類的類名調用(能夠只經過實例調用可是就沒有必要聲明爲 static 了),這樣調用時編譯器就能夠發現該方法不存在,就不須要父類寫個 abstract 方法規定子類必須有該方法來預防錯誤了。
Markdown基本語法配合基本使用
以前寫博客的時候都是在碼雲中完成,一鍵複製到博客裏,此次學了MarkDown的基本用法,也能夠直接在博客裏寫出格式正確的內容。java
- 標題:經過#號的個數來分辨標題的類型。
- 文本強調:兩個**表明加粗,一個*表明斜體,~~表明刪除。
- 圖片和連接:區別在一個 ! 號
- 代碼
-行內代碼使用兩個`包住便可標識,可嵌入文字中
-代碼塊使用4個空格或```標識
- 引用:引用以>來表示
感想
這周的學習任務相對來講較少,並且比較好理解,看到老師發告終對項目,因此及時利用課餘時間就已經自學完成,及時鞏固複習,留出部分時間充分準備項目內容,git
參考資料