「Java」親子クラスの明示的にダウンキャスト(downcast)をするサンプル
書式
子クラス オブジェクト名A =(子クラス)親クラスのオブジェクト名B
使用例
package com.arkgame.study;
// 親クラス
class ParentCftA {
public String testA() {
return "Parent A001";
}
}
// 子クラス
class ParentCftB extends ParentCftA {
public String testB() {
return "Child B002";
}
}
public class ParentObjMeiji {
public static void main(String[] args) {
// 子クラスを生成して親クラスの変数名に格納
ParentCftA pta = new ParentCftB();
// 子クラスの型の変数にダウンキャストを行う
ParentCftB ptb = (ParentCftB) pta;
System.out.println("result1: " + ptb.testA());
System.out.println("result2: " + ptb.testB());
}
}
実行結果
result1: Parent A001
result2: Child B002