Java複習——基礎篇:面向對象三大特徵

繼承、封裝、多態
繼承:本質是對一批類的抽象,從而實現對現實世界更好的建模
使用extends關鍵字
繼承是is-a關係,例如哺乳動物是動物
組合是has-a關係,例如計算機和主板關係

方法的重寫(override):
在子類中可以根據需要對從基類中繼承來的方法進行重寫。
重寫方法必須和被重寫方法具有相同方法名稱、參數列表和返回類型。
重寫方法不能使用比被重寫方法更嚴格的訪問權限。(由於多態)

方法的重載指同一個類中,一個方法名對應了多個方法(形參列表不同)
方法的重寫指的是子類重寫了父類的方法

toString方法
Object類中定義有public String toString()方法,其返回值是String類型,描述當前對象的有關信息。
在進行String與其它類型數據的連接操作時,將自動調用該對象類的toString()方法。

equals方法
Object類中定義有public boolean equals(Object obj)方法
提供定義對象是否“相等”的邏輯
x.equals(y)當x和y是同一個對象時返回true,否則返回false

final關鍵字
被 final 修飾的變量不可改變。即初始化一次後,就不能再次被賦值
被 final 修飾的方法不可以被子類重寫
被 final 修飾的類不能被繼承

封裝
使用訪問控制符
在這裏插入圖片描述
屬性一般使用private(除非本屬性確定會讓子類繼承並且使用)
提供相應的get/set方法來訪問相關屬性,這些方法通常是public,從而提供對屬性的讀取操作。
一些只用於本類的輔助性方法可以用private,希望其他類調用的方法用public

多態(polymorphism)
多態:如果編譯時類型和運行時類型不一致,就會造成多態。

  1. 多態是方法的多態,屬性沒有多態性。
  2. 編寫程序時,如果想調用運行時類型的方法,只能進行類型轉換。不然通不過編譯 器的檢查。但是如果兩個沒有關聯的類進行強制轉換,會報:ClassCastException。 比如: 本來是狗,我把它轉成貓。就會報這個異常。
  3. 多態的存在要有 3 個必要條件:要有繼承,要有方法重寫,父類引用指向子類對象
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章