您好,登錄后才能下訂單哦!
今天小編給大家分享一下java中instanceof運算符怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
概念
1、該運算符用于操作對象的例子,檢查對象是否為特定類型(類型或接口類型)。
格式
2、如果計算器左側變量所指的對象是操作器右側類或接口的對象,則結果是真實的。
( Object reference variable ) instanceof (class/interface type)
實例
package com.verify_instanceof; public class TestInstanceOf { public static void main(String[] args) { //下面四行代碼用來證明:instanceof運算符是判斷對象變量中存放的引用的所屬類是否與指定類相同,或者為指定類的后代類;而不是判斷對象變量的所屬類是否為指定類,或指定類的后代類 A a1 = null; RootInterface ra = new A(); System.out.println("a1 instanceof A:"+(a1 instanceof A));//null不是A類的實例對象,也不是A類的后代類的實例對象,故返回結果為false; System.out.println("ra instanceof RootInterface:"+(ra instanceof RootInterface));//true,原因在于對象變量ra中存放的引用的所屬類為類A,而類A實現了接口RootInterface,可以理解為類A是接口RootInterface的子類 System.out.println("ra instanceof A:"+(ra instanceof A));//對象變量ra中存放的引用的所屬類為A類,故返回結果為true; //下面的代碼用于驗證只要對象變量中存放的引用的所屬類是指定類或者是指定類的后代類,結果就為true;反之,結果為false; RootInterface rb = new B(); RootInterface rc = new C(); System.out.println("rb instanceof A:"+(rb instanceof A));//true,原因在于對象變量rb中存放的是類B的實例對象的引用,而指定類為類A,類B為類A的直接后代類,故返回true System.out.println("rb instanceof B:"+(rb instanceof B));//true,原因在于對象變量rb中存放的是類B的實例對象的引用,而指定類就是類B,兩個類為同一個類,故返回true System.out.println("rc instanceof A:"+(rc instanceof A));//true,原因在于對象變量rc中存放的是類C的實例對象的引用,而指定類為類A,類C為類A的間接后代類,故返回true System.out.println("rb instanceof C:"+(rb instanceof C));//false,原因在于對象變量rb中存放的是類B的實例對象的引用,而指定類為類C,類B不是類C的后代類,故返回false } }
以上就是“java中instanceof運算符怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。