Instance是实例的意思,顾名思义 InstanceOf xxx = xxx的示例。
举个例子:
GirlFriend lisa = new GirlFriend();
BoyFriend macro = new BoyFriend();
System.out.println(lisa instanceof BoyFriend);//false
System.out.println(lisa instanceof GirlFriend);//true
需要注意的几点
- obj 必须为 class 的实例对象
- obj 必须为引用类型,不能是基础类型
int num = 0;
System.out.println(num instanceof Integer);
System.out.println(num instanceof Object);
//编译不通过
- 当 obj 为 class 的直接类或间接子类
public class Animal{}
public class Dog extends Animal{}
Animal cat = new Animal();
Dog golden= new Dog();
Dog husky= new Dog();
System.out.println(cat instanceof Dog);//false
System.out.println(golden instanceof Dog);//true
System.out.println(husky instanceof Dog);//true
- obj 若为null 则返回false
System.out.println(null instanceof Object);//false