在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的子类");
}
}
}