您好,登錄后才能下訂單哦!
這篇文章主要介紹Java中instanceof關鍵字怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
instanceof 嚴格來說是Java中的一個雙目運算符,用來測試一個對象是否為一個類的實例,用法為:
boolean result = obj instanceof Class
其中 obj 為一個對象,Class 表示一個類或者一個接口,當 obj 為 Class 的對象,或者是其直接或間接子類,或者是其接口的實現類,結果result 都返回 true,否則返回false。
注意:編譯器會檢查 obj 是否能轉換成右邊的class類型,如果不能轉換則直接報錯,如果不能確定類型,則通過編譯,具體看運行時定。
instanceof是Java的一個保留關鍵字,左邊是對象,右邊是類,返回類型是Boolean類型。它的具體作用是測試左邊的對象是否是右邊類或者該類的子類創建的實例對象,是,則返回true,否則返回false。
先有繼承關系,再有instanceof的使用。
當該測試對象創建時右邊的聲明類型和左邊的類其中的任意一個跟測試類必須得是繼承樹的同一分支或存在繼承關系,否則編譯器會報錯。
public class Application { public static void main(String[] args) { // Object > Person > teacher // Object > Person > Student // Object > String Object o = new Student(); // 主要看這個對象是什么類型與實例化的類名 // instanceof關鍵字可以判斷左邊對象是否是右邊類或者子類的一個實例 System.out.println(o instanceof Student); // o 是Student類的一個實例對象 所以判斷右邊類跟student有無關系 以及顯示聲明有無關系 System.out.println(o instanceof Person); // true System.out.println(o instanceof Object); // true System.out.println(o instanceof String); // false System.out.println(o instanceof Teacher); // 無關系 System.out.println("========================"); Person person = new Student(); System.out.println(person instanceof Person); // true System.out.println(person instanceof Object); // true // System.out.println(person instanceof String); // 編譯錯誤 System.out.println(person instanceof Teacher); // 無關系 } }
需要用到對象的強制類型轉換時,需要使用instanceof進行判斷。
以上是“Java中instanceof關鍵字怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。