天天看點

java面向對象三大特征:封裝、繼承、多态

一、面向對象三大特征:封裝、繼承、多态

二、封裝:

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 類名 

五、執行個體化順序:知道就可以了