1. 程式人生 > >java入門-物件的上轉型物件

java入門-物件的上轉型物件

我剛接觸是覺得這個概念有點抽象,然後百度收集了一下。我對這概念的理解為:

      向上轉型是:父類物件引用子類物件    

              方向思維:若沒有物件的上轉型時,不如有一個類是生物,類裡有個方法m,裡面有兩個的動物為生物的子類,如狗,貓........,當狗用到方法m時,要寫一個方法m,當貓用到時,要寫一個方法m並且,這兩個方法不能命名相同,否則java自動判斷就會出錯,若使用物件的上轉型,就不用對方法m命不懂的名了,你如果新增別的子類,也只需要重寫出這個類和重寫的父類方法就可以了,否則你還要去改m方法。就是說,向上轉型體現了面向物件的特點,也增加了程式的擴充套件性。

看個例子會有幫助:

class 動物{//父類
      void cry(){
       }
}
 class 狗 extends 動物{//子類
        void cry(){
        System.out.println("這是狗的叫聲:汪汪...汪汪");
       }
}


class 貓 extends 動物{//子類
     void cry(){
     System.out.println("這是貓的叫聲:喵喵.....喵喵");
     }
}
public class Example{
      public static void main(String args[]){
      動物 animal=new 狗();//animal是狗的上型物件
      animal.cry();
      animal=new 貓();//animal是貓的上型物件
      animal.cry();
      }
}