package localevidence; interface A { } class B implements A { } class C extends B { } class instanceoftest { public static void main(String[] args) { A a = null; B b = null; boolean res; System.out.println("instanceoftest test case 1: ------------------"); res = a instanceof A; System.out.println("a instanceof A 未实例化a: " + res); res = b instanceof B; System.out.println("b instanceof B 未实例化b: " + res); System.out.println("/ninstanceoftest test case 2: ------------------"); a = new B(); b = new B(); res = a instanceof A; System.out.println("a instanceof A 实例化a: " + res); res = a instanceof B; System.out.println("a instanceof B 实例化a,b: " + res); res = b instanceof A; System.out.println("b instanceof A 实例化a,b: " + res); res = b instanceof B; System.out.println("b instanceof B 实例化b: " + res); System.out.println("/ninstanceoftest test case 3: ------------------"); System.out.println("c 是b2 的子类"); B b2 = (C) new C(); 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); } }
先贴上代码。感谢博客:http://blog.csdn.net/liranke/article/details/5574791 java
Java 中的instanceof 运算符是用来在运行时指出对象是不是特定类的一个实例。instanceof经过返回一个布尔值来指出,这个对象是不是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
若是 object 是 class 的一个实例,则 instanceof 运算符返回 true。若是 object 不是指定类的一个实例,或者 object 是 null,则返回 false。ide