instanceof关键字

java中的关键字,双目运算符。当左边的对象是右边的类的实例或子类的实例。返回true,否则false

关键字的用法是:A instanceof B ,返回值为boolean类型,用来判断A是否是B的实例对象或者B子类的实例对象。如果是则返回true,否则返回false。
  如:Person p = new Person() ; //
  Man m = new Man() ; //Man是Person的子类
  Animal a = new Animal() ;
  m instanceof Man //返回true
  m instanceof Animal//返回false
  m instanceof Person//返回true


用来判断内存中实际对象A是不是B类型

出现这种情况经常是需要强制转换的时候
class Dog extends Animal
譬如dog定义了自己的方法wangwang

Animal anAnimal = new Dog();
此时不能直接调用anAnimal.wangwang方法
但是可以
if( anAnimal instanceof Dog){
Dog dog = (Dog)anAnimal;
dog.wangwang就可以调用了
}

用来做类的类型判断,a1,a2 继承自 A; b 继承自 B;
a1 instanceof A 返回 true;
a2 instanceof a1 返回 false;
a1 instanceof B 返回 fasle;
就是类的 类型判断方法。
posted @ 2017-11-03 10:38  Johnson718  阅读(232)  评论(0编辑  收藏  举报