繼承
概念繼承通過extends關鍵字來實現,其中subclass稱為子類,superclass稱為父類,基類,或超類
作用**重用,**復用
單繼承乙個類,只能繼承乙個父類
乙個類,可以有多個子類
不繼承構造方法不繼承
沒有訪問許可權的成員不繼承
靜態成員不繼承
多型多型指的是編譯器(申明變數是)和執行期(建立物件後)表現為不同的形態(資料型別)
三個條件
繼承的存在(繼承是多型的基礎,沒有繼承就沒有多型)
子類重寫父類的方法(多型下呼叫子類重寫的方法)
父類引用變數指向子類物件(子類到父類的型別轉換)
子類轉父類規則
將乙個父類的引用指向乙個子類的物件,稱為向上轉型(upcastiog),自動進行型別轉換.
此時通過父類引用呼叫的方法是子類覆蓋或繼承父類的方法,不是父類的方法.
此時通過父類引用變數無法呼叫子類特有的方法
如果父類要呼叫子類的特有方法就得將乙個指向子類物件的父類引用賦給乙個子類的引用,稱為向下轉型,此時必須進行強制型別轉換
封裝訪問控制符
private
成員變數和方法只能在類內被訪問,具有類可見性.
default
成員變數和方法只能被同乙個包裡的類訪問,具有包可見性
protected
可以被同乙個包中的類訪問,被同乙個專案中不同包中的子類訪問
public
可以被同乙個專案中所有類訪問,具有專案可見性,這是最大的訪問許可權
好處隱藏類的實現細節
讓使用者只能通過程式設計師規定的方法來訪問資料
可以方便的加入訪問控制語句,限制不合理操作
具體步驟
修改屬性的可見性來限制對屬性的訪問
為每個屬性建立一對賦值(setter)方法和取值(getter)方法,用於對這些屬性的訪問
在賦值方法中,加入對屬性的訪問控制語句
面對物件三大特性
1.封裝 安全,在需要封裝的屬性或者函式前加雙下劃線,並提供讀 寫的介面 1.封裝是物件導向程式設計的一大特點 2.物件導向程式設計的第一步 將屬性和方法封裝到乙個抽象的類中 為什麼說是抽象的,因為類不能直接使用 3.外界使用類建立物件,然後讓物件呼叫方法 4.物件方法的細節都被封裝在類的內部 cl...
面對物件的三大特性 三 多型
動態編譯型別 同一方法可以根據傳送物件的不同而採用多種不同的行為方式。乙個物件的實際型別是確定的,但可以指向物件的引用的型別有很多。注意 多型是方法的多型,屬性沒有多型性 instanceof 乙個物件的實際型別是確定的 new student new person 但是,可以指向的引用型別就不確定...
面對物件的三大特徵
封裝 將類的某些資訊隱藏到類的內部,不能直接訪問,只能通過該類提供的方法對它進行訪問和操作 get和set方法 形象的比喻就是我們的汽車是由產家生產的,我們只關心使用就可以,不需要關心這個功能是怎麼做的。繼承 子類繼承父類 父類是可以有多個子類的 可以使用父類的方法和屬性,便於功能拓展。關鍵字 ex...