1. 程式人生 > >java中的instanceof用法詳解

java中的instanceof用法詳解

定義 xtend print 繼承 interface 參數 保留 如果 ack

  instanceof是Java的一個二元操作符(運算符),也是Java的保留關鍵字。它的作用是判斷其左邊對象是否為其右邊類的實例,返回的是boolean類型的數據。用它來判斷某個對象是否是某個Class類的實例。

用法:

  boolean result = object instanceof class

參數:

  result :boolean類型。

  object :必選項。任意對象表達式。

  class:必選項。任意已定義的對象類。

說明:

  如果該object 是該class的一個實例,那麽返回true。如果該object 不是該class的一個實例,或者object是null,則返回false。

例子:

  package com.instanceoftest;   interface A { }   class B implements A { } //B是A的實現   class C extends B { } //C繼承B   class D { }   class instanceoftest {     public static void main(String[] args) {       A a = null;       B b = null;       boolean res;       System.out.println("instanceoftest test case 1: ------------------");       res = a instanceof A;       System.out.println("a instanceof A: " + res); // a instanceof A:false
      res = b instanceof B;
      System.out.println("b instanceof B: " + res); // b instanceof B: false       System.out.println("\ninstanceoftest test case 2: ------------------");       a = new B();       b = new B();       res = a instanceof A;       System.out.println("a instanceof A: " + res); // a instanceof A:true       res = a instanceof B;       System.out.println("a instanceof B: " + res); // a instanceof B:true       res = b instanceof A;       System.out.println("b instanceof A: " + res); // b instanceof A:true       res = b instanceof B;       System.out.println("b instanceof B: " + res); // b instanceof B:true       System.out.println("\ninstanceoftest test case 3: ------------------");       B b2 = new C();       res = b2 instanceof A;       System.out.println("b2 instanceof A: " + res); // b2 instanceof A:true       res = b2 instanceof B;       System.out.println("b2 instanceof B: " + res); // b2 instanceof A:true       res = b2 instanceof C;       System.out.println("b2 instanceof C: " + res); // b2 instanceof A:true              System.out.println("\ninstanceoftest test case 4: ------------------");       D d = new D();       res = d instanceof A;       System.out.println("d instanceof A: " + res); // d instanceof A:false       res = d instanceof B;       System.out.println("d instanceof B: " + res); // d instanceof B:false
      res = d instanceof C;       System.out.println("d instanceof C: " + res); // d instanceof C:false
      res = d instanceof D;       System.out.println("d instanceof D: " + res); // d instanceof D:true     }
  }

java中的instanceof用法詳解