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