Java特性多型

2021-08-01 21:51:15 字數 2149 閱讀 3293

簡單說:就是乙個物件對應著不同型別.

多型在**中的體現:

父類或者介面的引用指向其子類的物件。

1/*2

3物件的多型性。45

class 動物6{}

78class 貓 extends 動物9{}

1011

class 狗 extends 動物

12{}

1314

1516

貓 x = new 貓();

1718

動物 x = new 貓();//乙個物件,兩種形態。

1920

2122

貓這類事物即具備者貓的形態,又具備著動物的形態。

23這就是物件的多型性。

2425

簡單說:就是乙個物件對應著不同型別.

2627 多型在**中的體現:

28 父類或者介面的引用指向其子類的物件。

2930

31多型的好處:

32提高了**的擴充套件性,前期定義的**可以使用後期的內容。

3334

多型的弊端:

35前期定義的內容不能使用(呼叫)後期子類的特有內容。通過向下轉型來解決。

3637

多型的前提:

381,必須有關係,繼承,實現。(實現是特殊的繼承)

392,要有覆蓋。

4041

4243

*/44

45abstract

class

animal

4650

51class dog extends

animal

5257

void

lookhome()

5861}62

63class cat extends

animal

6469

void

catchmouse()

7073}74

75class pig extends

animal

7681

void

gongdi()

8285}86

8788

89class

duotaidemo

90130

131public

static

void method(animal a)//

animal a = new dog();

132142

else

if(a instanceof

dog)

143147

else

148151

152}

153/*

154public static void method(cat c)

155158

public static void method(dog d)

159162

*/163 }

向上轉型:父類引用指向子類物件。子類的特有功能無法訪問。

向下轉型:子類引用指向父類物件。

1

animal a = new cat(); //

自動型別提公升,貓物件提公升了動物型別。但是特有功能無法s訪問。2//

作用就是限制對特有功能的訪問。3//

專業講:向上轉型。將子型別隱藏。就不用使用子類的特有方法。

45 cat c = (cat)a;//

向下轉型的目的是為了使用子類中的特有方法。

在實際應用中,向上轉型便於**擴充套件(之前寫的**以後能用,只有繼承或者實現基類了的),但是要用到子類特有的功能的時候,必須向下轉型。

很多時候我們向上轉型為object類,當用到自己特有功能的時候,我們向下轉型轉回來。

1/*2

畢老師和畢姥爺的故事。3*/

45class

畢姥爺6

11void

釣魚()

1215}16

17class 畢老師 extends

畢姥爺18

23void

看電影()

2427}28

2930

3132

33class

duotaidemo2

3452 }

java特性 多型

1 多型的定義 乙個物件變數 例如 變數e 可以引用多種實際型別的現象被稱為多型 polymorphism 在執行時能夠自動的選擇呼叫哪個方法的現象被稱為動態繫結 dynamic binding 2 多型只適用於方法,不適用於域。父類 class father 子類 class son extend...

java特性之多型

在這裡寫下自己對多型的一點理解 多型的意思就是子類存在和父類方法相同的方法,但是方法實現不一樣,舉個例子 你和你爸都有理髮這個行為,但是你們的理完發髮型就可能不一樣。總的來說就是相同方法不同實現。多型需要滿足哪些條件呢?第乙個,子類必須重寫父類的方法 第二個,要有向上轉型的過程 先把 貼上來 父類p...

Java的多型特性

學習筆記 簡單說 就是乙個物件對應著不同型別。多型在 中的體現 父類或者介面的引用指向其子類的物件。多型的好處 提高可維護性 由多型前提所保證 提高了 的擴充套件性 多型的弊端 無法直接訪問子類特有的成員。也就是說前期定義的內容不能使用 呼叫 後期子類的特有內容。多型的前提 1,子父類的繼承關係 2...