Java 快速導覽 - instanceof 運算子

Java 的 instanceof 運算子 (instanceof operator) ,測試某一物件是否為另一類別 (class) 的子類別 (subclass) ,或是某介面 (interface) 的實作介面,如下列表

運算子功能範例
instanceof測試 b 是不是 a 的子類別或是實作介面a instanceof b


舉例如下
class instanceofDemo {
    public static void main(String[] args) {
        instanceofDemo a = new instanceofDemo();
        if (a instanceof Object) {
            System.out.println("instanceofDemo is an instance of Object.");
        }
        else {
            System.out.println("instanceofDemo is not an instance of Object.");
        }
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:instanceofDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2013 年 1 月 */


編譯後執行,結果如下



這個程式先建立相同類別名稱的物件
instanceofDemo a = new instanceofDemo();


然後判斷 instanceofDemo 是否為 Object 的子類別
if (a instanceof Object) {


由於所有 Java 類別都繼承自 Object ,所以以上運算式自然回傳 true






1 則留言:

ian 提到...

你好,
內文表格中,下面這句話,是不是有寫反了呢??
應該改為『測試 a 是不是 b 的子類別或是實作介面』

測試 b 是不是 a 的子類別或是實作介面 a instanceof b