例如:A extends B , B extends C, C extends D, 那么A B C 应该都是D的子孙类,其中 B C D 都是抽象类,有没有什么方法可以判断 B 是 D 的子孙类?
[code="java"]Class clazzB = B.class;
Class clazzD = D.class;
boolean isFather = clazzD.isAssignableFrom(clazzB));
if(isFather){
System.out.println("D是B的父类");
}else{
System.out.println("D不是B的父类");
}[/code]
isInstance()方法或instanceof
A.class.isAssignableFrom(B.class); //判断A是否是B类的子类
A instanceof B
instanceof可以判断类型