继承是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
。