1. 程式人生 > >Java多型中的向上轉型和向下轉型

Java多型中的向上轉型和向下轉型

向上轉型:將一個父類的引用指向一個子類物件,稱為向上轉型,自動進行型別轉換

    用法: Father f = new Son();

向下轉型:子類引用指向父類引用的子類物件  通俗的說就是子類例項物件賦值給父類引用,然後父類引用又要賦值給子類引用,這個過程就是向下轉型。

  語法:

Father f = new Son();
Son s = (Son)f; //看語法,要有(型別)
   

ps:

a、向上轉型後,父類引用只能呼叫與子類共有的例項方法與例項變數,子類獨有的例項變數與例項方法將不能呼叫。多型:動態繫結知識點哈。不明白就自己敲一遍。你看看能不能發訊息!!!(通過引用呼叫方法,也稱為向例項物件傳送一個訊息)

b、注意向下轉型的前提條件:首先父類引用指向一個子類例項物件。。。。這樣絕對不可以Father father = new Father(); Son s = (son)father; 不好意思,直接拋給你ClassCastException!!即父類例項物件絕對不能強制轉換為子類的例項物件。