instanceof
用法:
boolean result = obj instanceof Class
理解:result 是Boolean类型,obj为一个对象,Class表示一个类或者接口
instanceof是用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是返回true,否则返回false。
即:使用instanceof关键字做判断时, instanceof 操作符的左右操作数必须有继承或实现关系。
注意: 在判断某个类(接口也可以看成一个特殊的类)的对象是不是其他类(或接口)的实例,一定要首先进行向上转型,然后才可用instanceof关键字进行判断,这是基本操作规范。
总结: 如果一个类的实例是这个类本身的实例,那么它也是它的父类、它的父类的父类的实例,也是由它实现的接口的实例
且instanceof左边操作元显式声明的类型与右边操作元必须是同种类或右边是左边父类的继承关系