向下轉型,向上轉型

2021-09-24 09:50:02 字數 928 閱讀 2792

package cn.dali.code24;

/*向上轉型:父類引用指向子類物件

* 格式:父類名稱 物件名 = new 子類名稱();

* 向下轉型:當我們使用父類引用指向子類物件的時候,我們想把父類物件轉為子類物件時,需要向下轉型

* 向下轉型就是乙個還原動作。

** 格式:子類名稱 物件名 = (子類名稱) 父類物件

** 注意:乙個父類有多個子類,所以當我們轉型的時候要注意,建立物件的時候是用的哪個子類。

** 判斷方法:instanceof關鍵字

* 用法:父類物件 instanceof 子類名稱,其返回值是乙個布林值,

* 如果是用該子類建立的為true,否則為false;

* */

public class demo01

if(person instanceof teacher)

}}

父類:

package cn.dali.code24;

public abstract class person

public abstract void work();

}

子類1:

package cn.dali.code24;

public class student extends person

public void game()

}

子類2:

package cn.dali.code24;

public class teacher extends person

public void read()

}

向上轉型向下轉型

在引用資料型別中,只有有繼承關係的型別才能進行型別轉換 型別轉換只是轉換看待物件的引用的型別,物件本身沒有也不可能參與轉換 父類引用可以自動指向子類物件,但只能訪問和呼叫到來自於父類的屬性和行為 子類的引用不能指向父類或其它子類物件,就算強轉也會導致執行失敗並丟擲classcastexception...

向上轉型和向下轉型

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

向上轉型與向下轉型

子類引用的物件轉換為父類型別稱為向上轉型。通俗地說就是是將子類物件轉為父類物件。此處父類物件可以是介面。向上轉型就是具體類向抽象類的轉換。語法 父類 物件 new 子類 例如 animal hern new dog 向上轉型 注意 1 向上轉型時,子類單獨定義的方法會丟失。2 子類引用不能指向父類物...