java中的instanceof運算符是在運行時指出對象是否是特定類的一個實例诲侮。instanceof通過返回一個布爾值(Boolean)來指出這個對象是否是這個特定類或者是它的子類的一個實例彰檬。
用法:
boolean result = object instanceof class
參數(shù):
Result:布爾類型。
Object:必選項奏寨。任意對象表達式。
class:必選項吊宋。任意已定義的對象類弯淘。
說明:
如果 object 是 class 類的一個實例,則 instanceof 運算符返回 true妙痹。如果 object 不是指定class類的一個實例铸史,或者 object 是 null,則返回 false怯伊。
例子:
Person接口
public interface Person{
? ? public void eat();? ? //? 接口中又一個吃的方法
}
People實現(xiàn)類
public class People implements Person{
@Override
?public void eat(){
? ? ? ? System.out.println("正在吃");
????}
}
Tom子類
public class Tom extends People{
? ??@Override
? ? public void eat(){
? ? ? ? System.out.println("Tom正在吃");
????}
}
main函數(shù)
public static void main(String[] args){
? ? People p = new People();
? ? Tom t = new Tom();
? ? System.out.println(p instanceof Person);
? ??System.out.println(p instanceof Tom);
? ??System.out.println(t instanceof Person);
????System.out.println(t instanceof People);
}
運行結(jié)果:
true
false
true
true