天天看點

8.10 JAVA筆記

1,前提:繼承 + 重寫

2,口訣1:父類引用指向子類對象

      解釋:父類類型的引用類型變量儲存的是子類類型的對象的位址值

      口訣2:編譯看左邊,運作看右邊

      解釋:編譯時要看父類是否定義了這個資源,運作時使用的是子類的功能

3,資源使用情況

  1. 成員變量使用的是父類的
  2. 成員方法使用的是父類的方法定義,子類的方法體
  3. 如果多态對象調用的是子類沒有重寫過的方法,方法定義與方法體使用的都是父類的,是以這個不符合多态的前提,直接使用純純的父類對象調用即可
  4. 靜态資源屬于類資源,随着類的加載而加載,隻會加載一次,優先于對象進行加載,可以通過類名直接調用,被全局所有對象共享,是以靜态不存在重寫的現象,在哪個類定義,就屬于哪個類的資源
  5. 我們現在學習的多态,把自己看作父類類型,參考“花木蘭替父從軍”

4,異常

  1. 異常的繼承結構

異常層次結構中的根是Throw able

Error:目前我們編碼解決不了的問題

Exception:異常

編碼異常:為運作代碼就報錯了,強子要求處理

運作時異常:運作代碼才報錯,可以通過編譯,不強制要求處理

5,異常的解決方案

  1. 捕獲處理 try – catch – 自己解決
  2. 向上抛出throws – 交給别人解決
  3. 不能直接把異常抛給main( ),因為調用main( )是JVM,沒人解決了
  4. 8.10 JAVA筆記

6,抽象abstract

  1. 抽象類
  1. 抽象類是被abstract修飾的類
  2. 抽象類對其中的方法不做限制:全譜/全抽/半普半抽
  3. 抽象類不可以執行個體化 – 建立對象
  4. 如果一個子類繼承了一個抽象父類,有兩種解決方案:繼續抽象/實作抽象父類的所有抽象方法,變成普通子類
  1. 抽象方法
  1. 抽象方法是被abstract修飾的方法
  2. 抽象類沒有方法體{ },以分号結束