关键字instanceof
先说instanceof,这个用的比较多,用来判断一个实例是否是某个接口或者类的实例,判断的是运行时候的实例。
和这个instanceof关键字用法相同的就是Class对象的isInstance方法。在上面的例子已经出现过了。
这个比较的是实例,如果要判断的是一个接口或者抽象类呢?instanceof好像就无能为力了。下面就看看Class对象的isAssignableFrom方法。
isAssignableFrom方法
Class对象的isAssignableFrom方法,用native关键字描述,是一个底层方法,存在于本地方法栈,用来判断当前Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,或是否是其接口或者父类。如果是返回true,否则返回false。这个可以用来判断接口或者抽象类。
下面就用isAssignableFrom判断一个接口或者抽象类是否和某个接口或者类相同,或是否是其接口或者父类。