面向對象三大特徵:(1)繼承;(2)封裝;(3)多態。
一. 繼承(extends)
1. 繼承要點
- java中類只有單繼承,C++中可以多繼承,java接口可以多繼承;
- 子類繼承父類,即子類可以得到父類的方法和變量屬性(但並非全部可以訪問,在父類變量或方法進行私有化子類不可以訪問)
- 任何類都是java.lang.Object的子類
- instanceof運算符爲二元運算符(左對象,右邊類),返回類型爲Boolean類型。
2. 重載與方法重寫
- overload:指一個類中有多構造器,傳入參數不同
- override:指子類繼承父類,並對父類的某變量或者方法進行重寫,使得子類更適用於自己的行爲。
3. Object類和重寫toString方法
4. ==和equals方法
==表示比較的雙方是否相同,基本數據類型表示比較值是否相等;引用類型表示比較的地址是否相等即對象
equals方法比較對象內容是否相同(邏輯關係)
5. super關鍵字
表示直接父類對象的引用,可以通過super來訪問父類中被子類覆蓋的方法和屬性。寫與不寫都一樣存在。宗位於構造器第一句。
二. 封裝
1. 特點:高內聚,低耦合
2. 常見訪問控制符
(1)private:表示私有,只有自己能訪問
(2)default:表示沒有修飾符修飾,只有同一個包的類能訪問
(3)protected:表示可以被同一個包的類以及其他包中的子類訪問
(4)public:表示可以被該項目的所有類訪問
三. 多態
1.定義:同一個方法調用,由於對象不同可能會有不同的行爲
2. 要點
- 多態僅僅指的是方法的多態
- 三個必要條件:繼承、方法重寫、父類引用指向子類的對象
- 父類引用指向子類的對象後,用該父類的引用調用子類重寫的方法,此時多態就出現