instanceof运算符是JAVA语言特有的运算符。先写代码,最后再说instanceof是做什么用的。
/*
定义一个类A和类B,B 是A的子类,然后通过instanceof来测试A与B的关系
*/
//类A,用于测试,类体为空
class A{}
//B是A的子类,同样B的类体为空
class B{}
//主类,测试instanceof运算符
public class InstanceofTest{
public static void main(String[] args){
A a=null;
B b=null;
boolean flag;
flag=a instanceof A; //a是空对象
System.out.println("a instanceof A ="+flag);
flag=b instanceof B; //b是空对象
System.out.println("b instanceof B="+flag);
a=new B();
b=new B();
flag=a instanceof A; //a是A类型的对象
System.out.println("a instanceof A="+flag);
flag=b instanceof B; //b是B类型的对象
System.out.println("b instanceof B="+flag);
flag=b instanceof A; //b是A类型(的子类型)的对象
System.out.println("b instanceof A="+flag);
}
}
运行结果(省略写):false false true true true
由上可知,instanceof 可以用来判定对象是否为特定类的一个实例。 |
|