Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

Posted xiaoliangup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别相关的知识,希望对你有一定的参考价值。

class1.isAssignableFrom(class2)class2是不是class1的子类或者子接口

o instanceof TypeName:用来判断一个对象实例 o 是否是一个类或接口(TypeName)的或其子类子接口的实例

 

public class Test {

    public static void main(String[] args) {
        People it=new IT();
        System.out.println(People.class.isAssignableFrom(it.getClass()));
        System.out.println(Object.class.isAssignableFrom(it.getClass()));
    }
}

interface People {
    
    void eat();

}


class IT implements People{

    @Override
    public void eat() {
        
    }
    
}

 

结果:

 

true

true

 

以上是关于Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别的主要内容,如果未能解决你的问题,请参考以下文章

instanceof 与isAssignableFrom

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

Java中isAssignableFrom的用法

isAssignableFrom和instanceof的区别

isAssignableFrom ,isInstance , Instanceof() 区别