亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于instanceof判斷的條件

視頻中說如果左面的對象包含右面的類的元素就返回True,這句話不是很理解啊,有沒有人能說清楚一點

正在回答

3 回答

左邊的引用是否 是右邊的類型 或者說是 子類

0 回復 有任何疑惑可以回復我~

instanceof是 判斷 左側對象是不是右側類的實例

0 回復 有任何疑惑可以回復我~

引用原文地址:http://blog.csdn.net/cntanghai/article/details/6096976

package?myPackage;????
/**??
*?instanceof運算符用法??
*?運算符是雙目運算符,左面的操作元是一個對象,右面是一個類.當??
*?左面的對象是右面的類創建的對象時,該運算符運算的結果是true,否則是false??
*???
*?說明:(1)一個類的實例包括本身的實例,以及所有直接或間接子類的實例??
*?(2)instanceof左邊操作元顯式聲明的類型與右邊操作元必須是同種類或右邊是左邊父類的繼承關系,??
*?(3)不同的繼承關系下,編譯出錯??
*/????
class?Person?{????
}????
class?Student?extends?Person?{????
}????
class?Postgraduate?extends?Student?{????
}????
class?Animal?{????
}????
public?class?Ex_instanceOf?{????
public?static?void?main(String[]?args)?{????
???instanceofTest(new?Student());????
}????
/**??
*?這個程序的輸出結果是:p是類Student的實例??
*???
*?Person類所在的繼承樹是:Object<--Person<--Student<--Postgraduate。??
*???
*?這個例子中還加入一個Animal類,它不是在Person類的繼承樹中,所以不能作為instanceof的右操作數。??
*???
*?@param?p??
*/????
public?static?void?instanceofTest(Person?p)?{????
???//?p?和?Animal類型不一樣,彼此之間沒有繼承關系,編譯會出錯????
???//?提示錯誤:Incompatible?conditional?operand?types?Person?and?Animal????
???//?if(p?instanceof?Animal){????
???//?System.out.println("p是類Animal的實例");????
???//?}????
???//下面代碼的除了第一行都會輸出????
???if?(p?instanceof?Postgraduate)?System.out.println("p是類Postgraduate的實例");????
???if?(p?instanceof?Person)?System.out.println("p是類Person的實例");????
???if?(p?instanceof?Student)?System.out.println("p是類Student的實例");????
???if?(p?instanceof?Object)?System.out.println("p是類Object的實例");????
???
}????
}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于instanceof判斷的條件

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號