Java反射方法asSubclass判斷一個類是否是另一個類的子類
阿新 • • 發佈:2019-02-09
在Java中我們判斷一個類是否是另外一個類的例項物件通常使用instanceof
a instanceof B
另外我們還有一個方法是asSubclass,它將一個類轉換成另外一個的例項,如果轉換異常就會丟擲ClassCastException異常,也就是這個類不是另外一個類的例項;所以我們可以通過它丟擲異常的方式來判斷一個類是否是另外一個類的例項;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Teacher {
public static void main(String[] args) {
Class<?> clazz = B.class;
String name = clazz.getName();
try {
Class classA = clazz.asSubclass(A.class);
} catch (ClassCastException e) {
System.out.println(name+"不是類StopThread的子類");
}
}
}