一.實現多態所具備的條件有3個: 1.繼承關係 2.子類重寫父類的方法 3.父類的引用指向子類的對象 二.實現一波: 1.編寫Animal類,作為一個父類,有一個name方法,用於給子類重寫. 2.編寫Monkey類繼承Animal類,並重寫父類name方法,擁有自己獨有的climb()方法 3.編 ...
一.實現多態所具備的條件有3個:
1.繼承關係
2.子類重寫父類的方法
3.父類的引用指向子類的對象
二.實現一波:
1.編寫Animal類,作為一個父類,有一個name方法,用於給子類重寫.
public class Animal { public void name(){ System.out.println("我是一隻動物"); } }
2.編寫Monkey類繼承Animal類,並重寫父類name方法,擁有自己獨有的climb()方法
public class Monkey extends Animal { @Override public void name() { System.out.println("我是一隻猴子"); } public void climb() { System.out.println("我會爬樹"); } }
3.編寫測試類
1.先上一張圖,他證明的一個道理是:父類的引用指向子類的對象時,父類只能訪問自己所擁有的方法,
比如Monkey類的climb()方法.animal是無法訪問的.
2.上完整代碼:
public class PolymorphismDemo { public static void main(String[] args) { //向上轉型,父類的引用指向子類的對象 Animal animal=new Monkey(); animal.name(); } }
3.結果:
4.總結,畫張圖吧~~動態綁定,在運行期間確定對象,然後運行對應的方法