多型應該算物件導向程式設計中的乙個難點。那麼究竟什麼才算是多型呢?實際上多型最顯著的特徵就是晚繫結。如果沒有晚繫結,就不是多型。多型建立在封裝、繼承的基礎之上。用它通常的表現的形式來說就是:父類的引用可以指向子類的物件,子類的引用不可以指向父類的物件。這其中就存在著upcast和downcast。所謂的upcast,就是向上型別轉換,在使用upcast時,一般可以不使用強制型別轉換符號。然而downcast時。就必須使用強制型別轉換。這裡先舉乙個簡單的例子。
class a
class b extends a
/*********************upcast**********************/
b b = new b();
a a = b;
/*********************downcast********************/
a b = new b();
b bt = (b)b;//此時(b)是必須的,因為剛開始b型別為a
那麼究竟,多型在實際的程式設計中有什麼用呢?多型可以遮蔽子類之間的差異性,用父類的標示公共介面。看下面的**:
public class test
public static void main(string args) }
class car
}class car_1 extends car
}class car_2 extends car
}
其執行結果為
car_1 is running
------------------------------------------
car_2 is running
用父類標識公共介面,直接傳入子類,呼叫子類的方法。
Java中的多型
多型也就是乙個名字多中狀態,這就叫多型。例如,人 老師,學生 老師和學生都是人,也就是人現在有兩種狀態。多型有四種型別 1,基本型別的多型。例如,byte,int,double,float,long。例如2,我們可以把它當作int型別,byte型別,long型別,還可以把其當作double型別。2說...
java中的多型
下面乙個例子,可以很清楚的給大家講解什麼是多型 父類 public class baseclass public void test 子類 public class subclass extends baseclass public void sub 呼叫 public static void ma...
Java中的多型
多型 某一種事物的多種存在形態 1 體現 父類引用指向子類的物件,即父類f 子類z,f fu new z 2 好處 大大提高程式擴充套件性 3 前提 必須是繼承或實現關係 且存在覆蓋 4 弊端 只能訪問父類的成員 轉型 父類引用指向子類物件時,又想要使用子類中的方法,那 麼就需要將該父類引用強轉成指...