當前位置:
首頁 >
java多态理解
發布時間:2025/3/12
29
豆豆
多態的實現必須有三個條件
1:必須要有繼承
2:必須要有重寫
3:父類引用指向子類對象
上面三個條件缺一不可
舉例:
假設現在有一個父類Animal,這里為了方便,使用抽象類,Animal有唱歌、散步這兩個方法,應該所有的動物都有這兩個動作吧!
?
如果這時候有Dog類和Cat類實現了這個接口
Dog.javapublic class Dog implements Animal(){@Override public void sing(){System.out.println("狗叫");}@Override public void run(){System.out.println("狗散步");}}Cat.javapublic class Cat implements Animal(){@Overridepublic void sing(){System.out.println("貓叫");}@Override public void run(){System.out.println("貓散步");}} Test.javapublic class Test(){public static void main(String [] args){Animal animal=new Dog();animal.sing();animal.run();}]此時運行的話,控制臺會打印:
狗叫
狗散步
如果此時我們想換成貓,那么只需要改半行代碼就可以了
此時運行的話,控制臺會打印:
貓叫
貓散步
........
以后想換其他的動物,只要改一下就可以了,方法啥的都不用變,這樣就簡單多了
理解:
父類引用指向子類對象,
父類(接口)的引用就能夠直接調用子類(實現類)的方法。
為什么在實際的開發過程中不采用直接創建實現類對象來調用方法呢?
這么做的主要目的還是為了能夠減少開發過程中代碼的修改量。
總結
- 上一篇: python创建新进程_Python:创
- 下一篇: 为什么Mac source ~/.bas