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 子類引用不能指向父類物...