继承是JAVA三大特性之一,在开发过程中,我们如何判断某个类是否是另外一个类的子类,其实是有两个方法的。
我们假设有A和B两个类,代码如下:
class A {
}
class B extends A {
}
第一种:instanceof,主要用于对象的判断,代码如下:
B b = new B(); //结果true System.out.println(b instanceof A); //结果true System.out.println(b instanceof B);
第二种:Class判断,主要用于判断某个类本身,比如Field等反射的使用:
B b = new B(); //结果true System.out.println(A.class.isAssignableFrom(b.getClass()));
注意:isAssignableFrom方法,左边是父类,右边是需要判断的子类,如果是Field,也可以使用getType获取到Class。
