Java instanceof 及其應用程式
instanceof 運算子用於檢查傳遞物件的型別。以下規則說明了 Java 中 instanceof 運算子的用法。
對於與自身類型別進行檢查的物件,instanceof 運算子返回真。
對於檢查與其型別(此類型別不在其層次結構中)的物件,instanceof 運算子返回假。
對於與父物件型別進行檢查的子物件,instanceof 運算子返回真。
對於一直到 Object 類的整個物件層次結構,instanceof 運算子返回真。
對於 null 值,instanceof 運算子返回假。
對於與子物件型別進行檢查的父物件,instanceof 運算子返回假。
以下示例展示了上述概念。
示例
class SuperClass {
int value = 10;
}
class SubClass extends SuperClass {
int value = 12;
}
public class Tester{
public static void main(String[] args){
SuperClass obj = new SubClass();
//instanceof returns true for the complete Object Hierarchy
if(obj instanceof SubClass){
System.out.println("obj is instanceof SubClass");
}
if(obj instanceof SuperClass){
System.out.println("obj is instanceof SuperClass");
}
if(obj instanceof Object){
System.out.println("obj is instanceof Object");
}
SuperClass obj1 = null;
//instanceof returns false for null
if(obj1 instanceof SuperClass){
System.out.println("null is instanceof SuperClass");
}
SuperClass obj2 = new SuperClass();
//instanceof returns false for the subclass
if(obj2 instanceof SubClass){
System.out.println("obj2 is instanceof SubClass");
}
if(obj2 instanceof SuperClass){
System.out.println("obj2 is instanceof SuperClass");
}
}
}輸出
obj is instanceof SubClass obj is instanceof SuperClass obj is instanceof Object obj2 is instanceof SuperClass
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP