1. 程式人生 > >Java 009 面向物件(多型、抽象類、介面)

Java 009 面向物件(多型、抽象類、介面)

知識點梳理

Java day 09

心得體會

小知識點

1.多型中成員訪問特點:成員方法看左右子類都會先訪問父類構造方法(先初始化父類成員才能被子類呼叫),其他只看左邊
2.多型缺點:不能使用子類特有功能,解決辦法有兩種:一、建立子類物件調方法(不合理且佔記憶體)二、向下轉型:Zi z=(Zi)f 即強制轉換,但有報錯風險
3.多型的物件間轉型
向上轉型:Fu f=new Zi() 意思是父類Fu 引用f 指向= 子類物件new Zi()
向下轉型:Zi z=(Zi)f意思是父類引用f 強制轉換為子類引用(Zi) 賦給= 子類引用Zi z
父類需要被多個子類向下轉型時,要注意父類一個子類被強轉後,被另一個子類強轉前,要先轉換父類為正常,再**“向下”**轉換(向下轉型只能從大到小轉換,平級間不存在“向下”轉換)例如:
多型中,“多次”向下轉型圖解


4.抽象類有構造方法,但不能直接例項化(不能建立物件),可以通過多型方式來例項化(new物件賦給抽象類)
5.抽象類中不一定有抽象方法,有抽象方法的類一定是抽象類
6.介面無構造方法(其成員變數是靜態的常量,不需要初始化),不能直接例項化,通過多型例項化和抽象類做法一樣
7.abstract不能和一下關鍵字共存
private:abstract重寫父類方法,private使子類無許可權訪問
static:abstract不需要建立物件,static需要建立物件
final:abstract重寫父類方法,final使父類方法不能被重寫

多型的記憶體圖解

多型的記憶體圖解