Java的向上轉型和向下轉型

2021-06-22 11:48:20 字數 491 閱讀 3813

【開源共享】

名詞:向上轉型(upcasting)和向下轉型(downcasting)

例1:有兩個類,father父類、son子類繼承自父類father

father fr=new son();這樣把子類物件son()直接賦給父類引用fr叫向上轉型(upcasting)。這裡fr引用指向的是son物件。

son sn=(son)fr;這樣把指向子類物件son()的父類引用fr賦給子類引用sn叫向下轉型(downcasting)。這裡fr仍然指向的是son物件。

例2:father fr2=new father();這裡是把父類物件father()直接賦給父類引用fr2。

son sn2=(son)fr2;這樣寫是錯誤的,因為fr2是乙個父類引用

指向的是乙個父類物件。這裡把子類引用sn2指向了父類物件。父類引用能指向子類物件,但子類引用不能指向父類物件。

特別注意:向上轉型時只會保留與父類方法中相同的方法,除與父類方法相同的其他方法會被遺失。

java向上轉型和向下轉型

向上轉型 類a繼承類supera,類 執行suppera a new a 其實這個時候a的型別還是a而不是suppera,但是這個時候a只能使用suppera中的方法 向下轉型 分兩種1 類a繼承類supera,類 執行suppera a new a a aa a a 這個時候aa的型別是a而且可以...

java中向上轉型和向下轉型

轉型是在繼承的基礎上而言的,繼承是物件導向語言中,復用的一種機制,通過繼承,子類可以復用父類的功能,如果父類不能滿足當前子類的需求,則子類可以重寫父類中的方法來加以擴充套件。向上轉型 子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。此處父類物件可以是介面 向下轉型 父...

向上轉型和向下轉型

向上轉型 子類向上轉型為父類 注意點 轉型後父類與子類的同名函式中,子類的函式可以覆蓋父類的函式,但子類自己定義的函式將被隱藏 class a public void a2 class b extends a public void b2 public class c 向下轉型 父類被強制轉型為子類...