instanceof - 二元操作符
instanceof是Java、php的一個二元操作符(運算符),和==,>,<是同一類東西。由于它是由字母組成的,所以也是Java的保留關鍵字。它的作用是判斷其左邊對象是否為其右邊類的實例,返回boolean類型的數(shù)據(jù)??梢杂脕砼袛嗬^承中的子類的實例是否為父類的實現(xiàn)。相當于c#中的is操作符。java中的instanceof運算符是用來在運行時指出對象是否是特定類的一個實例。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個實例。
定義
用法
boolean result=object instanceof class
參數(shù)
Result:布爾類型。
Object:必選項。任意對象表達式。
Class:必選項。任意已定義的對象類。
其他關聯(lián)
說明
如果 object 是 class 的一個實例,則 instanceof 運算符返回 true。如果 object 不是指定類的一個實例,或者 object 是 null,則返回 false。
例子
package?com.instanceoftest;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:"?+?res;res?=?b?instanceof?B;System.out.println - "b?instanceof?B:"?+?res;System.out.println - "/instanceoftest?test?case?2:——————";a=new?B - ;b=new?B - ;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;System.out.println - "/instanceoftest?test?case?3:——————";B?b2= - Bnew?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;}}/*result:instanceoftest?test?case?1:——————a?instanceof?A:falseb?instanceof?B:falseinstanceoftest?test?case?2:——————a?instanceof?A:truea?instanceof?B:trueb?instanceof?A:trueb?instanceof?B:trueinstanceoftest?test?case?3:——————b2?instanceof?A:trueb2?instanceof?B:trueb2?instanceof?C:true
