1. 程式人生 > >《Java編程思想》筆記 第七章 復用類

《Java編程思想》筆記 第七章 復用類

內部 開發 pri 思想 添加 基本類 創建 權限 改變

1.組合

  • 將其他類的對象引用置於新的類中。

3.繼承

  • 關鍵詞extends 一個類繼承基類後自動獲得 基類的所有域(包括字段 引用 內部類 )和方法,當然不包括private,子類中調用繼承下來的方法也不需要基類對象引用。繼承相當於對基類的一個擴展,因為基類有的它都有,再額外添加了一些域和方法(或覆寫方法)而已。

4.super

4.1 super.f() 調用基類的f()方法。

4.2 構造器中的super(args) 調用基類構造器,且只能在第一行。

4.3 由於構造器被重載後默認構造器不存在,且創建子類對象時一定會調用基類構造器,如果不用super則調用基類默認構造器,而基類構造器構造器被重載,故會報錯,所以基類構造器被重載後子類要在構造器中顯示用super調用基類構造器。

5.代理

  • 一個類中創建一個成員對象,並把該對象的方法都暴露出來。
  • 代理的作用或者什麽時候用代理: 我們只想使用該成員對象的方法中的一些子集。(雖然通過繼承和訪問權限設置可以做到)

6.何時使用組合或繼承

  • 組合:新類中實現現有類功能,而非現有類接口。
  • 繼承:開發一個現有類的特殊版本。

7.final

7.1 final 不可改變數據。 final 引用 不可指向另一對象,這對數組也同樣適用,數組也是對象,但對象內容可以改變,不能改變的時引用指向。

7.2 final 參數 : 參數為引用則無法改變指向,參數為基本數據類型則無法改變值。

7.3 final 方法 可被繼承但子類無法覆寫,所有private方法都是隱式的final.(private 方法非所在類無法訪問,final方法不一定 看它是什麽權限)

7.4 final 類 無子類,不可繼承。

8. main方法

8.1 可以在類中設置main方法,這樣便於進行單元測試單獨運行這個類。

8.2 除構造器外,其他方法都需要對象調用才能執行,main方法也如此,創建對象並不會調用main方法,只有執行 java 類 命令時main方法才會被調用。

8.3 單獨的一個沒有main方法的類是無法運行的,main方法時程序運行的入口。

知識點:

  • 每一個非基本類的對象都有一個 toString() 方法,打印此對象引用就會輸出該方法的返回值。
  • 默認構造器權限與類權限相同,沒寫權限的構造器為包訪問權限。
  • 訪問權限 誰能訪問? 誰指的是類,而不是對象。

《Java編程思想》筆記 第七章 復用類