java :instanceof用法
阿新 • • 發佈:2017-09-15
interface println false bsp 繼承 attr mask csdn 技術分享
Java中的instanceof是用來判斷某個實例是不是某個類的實例。
例如:A instanceof B (A為某個實例,B為某個類名)
如果A為B的實例,則:(A instanceof B)==true 反之==false
代碼舉例:
package JavaKEYWORDS;
class Bird{//父類
}
class BigBird extends Bird{//Bird的子類
}
class LittleBird extends Bird implements BirdFly{//Bird的子類加上BirdFly接口
}
interface BirdFly{
}
public class JavaKWinstanceof {
public static void main(String[] args) {
// TODO Auto-generated method stub
JavaKWinstanceof myThis=new JavaKWinstanceof();
Bird myBird=new Bird();
BigBird myBigBird=new BigBird();
LittleBird myLittleBird=new LittleBird();
//打印各實例與類之間的關系
prt(myThis instanceof JavaKWinstanceof);//打印結果:YES
prt(myBird instanceof Bird);//打印結果:YES
prt(myBigBird instanceof Bird);//打印結果:YES 子類實例出的對象也是父類的實例
prt(myBird instanceof BigBird);//打印結果:NO 父類實例出的對象不是子類的實例
prt(myLittleBird instanceof Bird);//打印結果:YES 子類加上其它接口後實例出的對象也是父類的實例
/*
* prt(myLittleBird instanceof BigBird);//編譯報錯 兩個沒有繼承關系的類之間沒有instanceof關系
* prt(1 instanceof int);//編譯錯誤
*/
}
//判斷及顯示A是否為B的實例
static void prt(boolean A_is_instanceof_B){
if(A_is_instanceof_B){
System.out.println("YES");
}
else{
System.out.println("NO");
}
}
}
輸出結果:
java :instanceof用法