面向對象的三大特徵:
之一封裝
封裝即隱藏具體的實現細節,只提供給外界調用的接口。這樣,底層改變的時候,不會對外界造成影響,只要提供給外界的接口不變即可。
之二繼承性
- 當兩個類存在一般與特殊的關係時,我們就稱特殊的類繼承了一般的類。
- 特殊類具有一般類的一切特徵,並且還具有自己專有的特徵。
繼承和組合
如果類型A是一種特殊的類型B(特殊與一般的關係),則應當用類型A繼承類型B。(is-a關係,A is a B)
如果類型A是類型B的一部分(包含與被包含的關係),則應當用類型B組合類型A。(has-a關係,B has a A)
單重繼承與多重繼承
繼承的作用
更好的進行抽象與分類。
減少代碼和數據的冗餘,實現代碼的複用。
提高可維護性之三多態
多態性就是通過同一個引用,調用不同的方法,在運行時可以表現爲不同的形態。多態性是表現在繼承的基礎上的。也就是說,如果要實現多態,則必須要先實現繼承。
爲什麼要使用類?
需求:現在要求存放100個人的屬性?
- 聲明100個變量?
顯然不符合Java開發需求,使用類可以把實現中的相關數據映射爲程序中的一個整體,便於訪問和維護。
類變量
- 成員變量
聲明在類體,成員變量的作用域是整個類。成員變量不能重名。 - 局部變量
聲明在語句塊中,作用域從開始位置到最小語句塊結束。局部變量與成員變量重名時,在局部變量的作用域內,局部變量會遮蔽同名的成員變量。
對象的創建和使用
類是對象的抽象,對象是類的具體表現形式。