「Java」Java.lang.Class.asSubclass()メソッドを利用するサンプル
asSubclass()説明
このClassオブジェクトをキャストして、指定されたクラスオブジェクトによって表されるクラスのサブクラスを表します。
javaコード
package com.arkgame.study; public class ParentClassDemo { public static void main(String[] args) { try { ParentClassDemo cls = new ParentClassDemo(); ParentClassDemo subcls = new SubClassA(); //ParentClassDemo Class<?> c = cls.getClass(); System.out.println("result1: " + c); //sub class SubClassA Class<?> cg = subcls.getClass(); System.out.println("result2: " + cg); //represent a subclass of the specified class object Class<?> cftInfo = cg.asSubclass(c); System.out.println("result3: " + cftInfo); } catch (ClassCastException e) { System.out.println(e.toString()); } } } class SubClassA extends ParentClassDemo { public void print() { System.out.println("subclass method is called"); } }
結果
result1: class com.arkgame.study.ParentClassDemo
result2: class com.arkgame.study.SubClassA
result3: class com.arkgame.study.SubClassA