一、面向對象三大特征:封裝、繼承、多态
二、封裝:
1、封裝兩大特征:合理隐藏資料、合理暴露資料
2、把資料使用private修飾,可以通過定義一個public的方法把資料暴露出去
三、繼承
1、java是單繼承,但是可以間接繼承,extends
2、在java中,任何類,除了Object,所有的類都有父類
3、子類可以繼承父類的哪些屬性和方法?
同一個包下:public、預設、protected
不同的包下:public、protected
通路:
同一個包下:public、預設、protected
不同的包下:public
4、重寫/覆寫:override,繼承關系中,子類的方法和父類的方法方法名相同,參數類型一緻,傳回類型相同,通路權限
子類不能比父類更嚴格:private > 預設 > protected > public @override
5、重載:在一個類中,方法名相同,參數類型不同,對傳回值沒有要求
6、構造方法是不能被繼承,但是子類的構造方法一定會調用父類的構造方法(第一行)
如果子類沒有顯式調用父類構造方法,系統預設調用父類無參構造方法
如果父類沒有無參的構造方法,子類必須顯示調用父類有參的構造方法
7、super父類的,調用父類的屬性-->super.屬性名,調用父類的方法-->super.方法名(形參)
調用父類的無參構造方法-->super(),調用父類有參的構造器-->super(形參)
四、多态
1、向上轉型:聲明的時候是父類,執行個體化的時候是子類--> 父類類名 對象名 = new 子類的構造器
向下轉型:聲明的時候是子類,執行個體化的時候是父類--> 子類類名 對象名 = new 父類的構造器,不安全
2、使用多态的時候,調用的屬性和方法都是父類的,如果子類重寫了方法,則方法調用的是子類的,不能調用
子類存在而父類不存在的屬性和方法
3、instanceof: 對象名 of 類名
五、執行個體化順序:知道就可以了