#關注疫情,武漢加油#
感謝大家的轉發、收藏。需要源碼的留言聯繫小編免費領取即可!持續更新中...
一、 多態
多態基於繼承(),現實事物中經常可以看到人,而學生、工人、白領、宇航員等都是人,即由人演變而來的多種狀態。多態是Java三大特性(<strong>封裝、繼承、多態)之一,它的出現豐富了完善了Java面向對象體系。由以下的代碼演示多態的特性:
由上面的多態演示代碼,就不得不說一下<strong>動態綁定,動態綁定是指在執行時判斷鎖作用對象的實際類型。多態的實現基於動態綁定,是指用基類的引用指向派生類的實例,當調用方法時再確定是應該調用基類的方法還是調用派生類的方法。附帶部分源碼如下:
<code>package com.part1;/** * 多態演示 * 派生類Fish * @author 紅魚程序員生活 * */public class Fish extends Animal {private String name = "魚";public Fish(int weight, String name) {super(weight);this.name = name;}public void move(){System.out.println("fish can swim");}public static void main(String[] args){Animal animal = new Animal(99);Fish fish = new Fish(22, "大魚魚");Tiger tiger = new Tiger(77, "大老虎");Animal[] arr = new Animal[3];arr[0] = animal;arr[1] = fish;arr[2] = tiger;for(Animal a : arr) {System.out.println("animal weight is " + a.weight);a.move();System.out.println("-------------------");}}}/<code>
上面代碼中由基類(Animal)、派生類(Fish、Tiger)組成,派生類重寫了move()方法。主方法(main)中分別創建了基類和派生類的實例,然後將它們加入同一個數組,最後觀察輸出結果可知,在循環(for)中都是用基類(Animal)類型的引用指代數組中的實例,但是在調用move()方法時卻有不同的表現,這就是多態。多態就是用基類指代派生類,在實際調用時調用派生類的實現。
上述案例演示的不夠全面,小編也是一邊學習一邊編寫文章。大家一起學習,歡迎留言。在後面的圖文中會逐漸完善。
閱讀更多 紅魚程序員生活 的文章