簡單說:就是乙個物件對應著不同型別.
多型在**中的體現:
父類或者介面的引用指向其子類的物件。
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...