Java面向對象的特徵是什麼:
三大特徵是:封裝、繼承和多態。
封裝:是指將某事物的屬性和行爲包裝到對象中,對外只開放一個可以訪問它的接口
繼承:子對象可以繼承父對象的屬性和行爲
多態:指父對象中的同一個行爲能在其多個子對象中有不同的表現
封裝:
封裝在java中的體現:
方法,關鍵字private
封裝就是將一些細節信息隱藏起來,對於外界不可見。
繼承:
1.父子繼承關係中,如果成員變量重名,則創建子類對象時,訪問有兩種方式
直接通過子類對象訪問成員變量
等號左邊是誰,就優先使用誰,沒有則向上找
間接通過成員方法訪問成員變量
該方法屬於誰,就優先使用誰,沒有則向上找
2.繼承中的三種成員變量重複如何使用
局部變量:直接寫
本類的成員變量:this.成員變量名
父類的成員變量:super.成員變量名
3.父子繼承關係中,創建子類對象,訪問成員方法的規則
創建的對象是誰,就優先使用誰,如果沒有則向上找。
4.方法覆寫重寫覆蓋的方式:
必須保證父子類方法名相同,參數列表也相同
子類方法的返回值必須小於等於父類方法的返回值
子類方法的權限必須大於等於父類的權限
5.繼承關係中,父子類構造方法的訪問特點:
先調用父類構造方法,然後調用子類構造方法。
子類構造使用super調用父類重載構造。(默認調用無參構造)
super的父類構造調用,必須是子類構造方法的第一個語句。
6.super使用:
在子類的成員方法中,訪問父類的成員方法
在子類的成員方法中,訪問父類的成員變量
在子類的構造方法中,訪問父類的構造方法
7.this的使用
在本類的成員方法中,訪問本類的成員變量
在本類的成員方法中,訪問本類的另一個成員方法
在本類的構造方法中,訪問本類的另一個構造方法,
注意:
此時this也必須是構造方法的第一個語句,唯一一個
super和this兩種構造調用,不能同時使用。
8.java繼承
java語言是單繼承的
java可以多級繼承
一個子類直接父類是唯一的,但是一個父類可以擁有很多子類
多態
1.多態性:指的是對象的多態,在代碼上是父類引用指向子類對象
格式:父類名稱 對象名=new 子類名稱()
接口名稱 對象名=new 實現類名稱()
成員變量訪問:編譯看左邊,運行看左邊
成員方法訪問:編譯看左邊,運行看右邊
2.對象的向上轉型:
父類名稱 對象名=new 子類名稱()
向上轉型一定是安全的。從小範圍轉向了大範圍。
3.對象的向下轉型:
對象一旦向上轉型爲父類,那麼就無法調用子類原本特有的內容。
子類名稱 對象名=(子類名稱)父類對象;
如何進行安全的向下轉型:明白一個父類的引用對象,本來是一個什麼子類
4.對象 instanceof 類型
判斷前面對象能不能當作後面類型的實例,爲了避免類轉換異常。