java中instanceof 關鍵字作用和實際用途詳解
instanceof
1. instanceof 是Java中的一個關鍵字,Java中的關鍵子都是小寫。2. instanceof關鍵字的作用是判斷左邊對象是否是右邊類(這里有很多人說是對象,所以注意這里是類,并不是對象)的實例(通俗易懂的說就是:子類對象,或者右邊類本身的對象)返回的boolean類型,true和false。
舉個例子:
public class Dome{class Perse extends Object{}class Student extends Perse{}//這個方法判斷是否是Perse的實例,用instanceof判斷。void f(Object o){//Object可以接收任何的類型。if(o instanceof Perse)System.out.println('你輸入的對象是Perse的實例');elseSystem.out.println('你輸入的對象不是Perse的實例');public static void main(String[] args){Dome dome =new Doem();Perse perse =new Perse();Student student =new Student();Object object = new Object();dome.f(/*shutdent或者perse以及object*/);//結果://輸入的是student和perse那么instanceof 判斷就會是true,if也就執行打印語句System.out.println('你輸入的對象是Perse的實例');//那么輸入object自然instanceof判斷就是false。原因我們開頭已經說的很清楚啦。//instanceof關鍵字的作用是判斷左邊對象是否是右邊對象的實例(通俗易懂的說就是:子類,或者右邊類本身的對象)}}
使用環境
public class CastingDemo{public static void displayObject(Object o){if(o instanceof Yuan){//判斷是否為圓的對象,不是則往下執行判斷else ifSystem.out.println('圓的面積為:' + ((Yuan)o).mianJi);//這里(Yuan)Object)防止參數o是Yuan的子類,此方法獲得面積。System.out.println('圓的直徑為:' + ((Yuan)o).zhiJing);//此方法獲得直徑。}else if(o instanceof ChangFangXing){System.out.println('長方形的面積為:' + ((ChangFangXing)o));}}public static void main(String[ ] args){Object yuan =new Yuan(/*半徑:*/ 1 );//Yuan是圓的對象,參數是半徑,的出圓的面積和直徑。詳細類就不寫啦,理解就行。Object changFangXing =new ChangFangXing(/*長寬:*/ 1,1);//ChangFangXing是長方形,參數是長和寬,的出面積//因為是靜態方法并且在本類直接使用,省略 類名. displayObject(yuan);displayObject(changFangXing);}}
結果:圓的面積為:3.1415926圓的直徑為:2.0長方形的面積為:1.0
這個樣子的使用instanceof增加了代碼的靈活性,如果你有更好的例子可以分享出來一起參考。
到此這篇關于java中instanceof 關鍵字作用和實際用途的文章就介紹到這了,更多相關java instanceof 關鍵字內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: