「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