instanceof關鍵字
阿新 • • 發佈:2020-09-08
instanceof關鍵字用來判斷物件和類是否存在父子關係
/* Person是一個父類 Man和Woman都是Person的直接子類 */ Object obj = new Man(); System.out.println("obj instanceof Object: " + (obj instanceof Object)); System.out.println("obj instanceof Person: " + (obj instanceof Person)); System.out.println("obj instanceof Man: " + (obj instanceof Man)); System.out.println("obj instanceof Woman: " + (obj instanceof Woman)); System.out.println("obj instanceof String: " + (obj instanceof String)); System.out.println(); Person person = new Man(); System.out.println("person instanceof Object: " + (person instanceof Object)); System.out.println("person instanceof Person: " + (person instanceof Person)); System.out.println("person instanceof Man: " + (person instanceof Man)); System.out.println("person instanceof Woman: " + (person instanceof Woman)); // 編譯報錯,因為Person和String沒有父子關係 // System.out.println("person instanceof String: " + (person instanceof String)); System.out.println(); Man man = new Man(); System.out.println("man instanceof Object: " + (man instanceof Object)); System.out.println("man instanceof Person: " + (man instanceof Person)); System.out.println("man instanceof Man: " + (man instanceof Man)); // 編譯報錯,因為Man和Woman,String都沒有父子關係 // System.out.println("man instanceof Woman: " + (man instanceof Woman)); // System.out.println("man instanceof String: " + (man instanceof String));
執行結果
obj instanceof Object: true obj instanceof Person: true obj instanceof Man: true obj instanceof Woman: false obj instanceof String: false person instanceof Object: true person instanceof Person: true person instanceof Man: true person instanceof Woman: false man instanceof Object: true man instanceof Person: true man instanceof Man: true
如果instanceof關鍵字前邊的物件和後邊的類沒有任何父子關係,編譯報錯