共计 1287 个字符,预计需要花费 4 分钟才能阅读完成。
1、instanceof 概述
instanceof 是 Java 中的关键字,它的作用是判断其左边对象是否为其右边类的实例。
2、instanceof 格式
boolean result = object instanceof class;
//result:boolean 类型。
//object:必选项。任意对象表达式。
//class:必选项。任意已定义的对象类。
如果该 object 是该 class 的一个实例,那么返回 true。如果该 object 不是该 class 的一个实例,或者 object 是 null,则返回 false。
3、instanceof 应用
案例:
共有的接口或类
interface A {
}
class B implements A {
}
class C extends B {
}
3.1、对象为 null 时
public class InDemo01 {public static void main(String[] args) {A a = null;
B b = null;
boolean res;
System.out.println("对象为 null 时: ------------------");
res = a instanceof A;
System.out.println("a instanceof A:" + res);
res = b instanceof B;
System.out.println("b instanceof B:" + res);
}
}
运行结果:
3.2、对象不为 null 时
public class InDemo02 {public static void main(String[] args) {System.out.println("/ n 对象不为空时: ------------------");
A a = new B();
B b = new B();
Boolean res = a instanceof A;
System.out.println("a instanceof A:" + res);
res = a instanceof B;
System.out.println("a instanceof B:" + res);
res = b instanceof A;
System.out.println("b instanceof A:" + res);
res = b instanceof B;
System.out.println("b instanceof B:" + res);
}
}
运行结果:
3.3、强制类型转换时
public class InDemo03 {public static void main(String[] args) {System.out.println("/ n 对象强制类型转换时: ------------------");
B b2 = (C) new C();
Boolean res = b2 instanceof A;
System.out.println("b2 instanceof A:" + res);
res = b2 instanceof B;
System.out.println("b2 instanceof B:" + res);
res = b2 instanceof C;
System.out.println("b2 instanceof C:" + res);
}
}
运行结果:
正文完
星哥玩云-微信公众号