instanceof用法

 instanceof是Java的一个二元操作符(运算符),也是Java的保留关键字。它的作用是判断其左边对象是否为其右边类的实例,返回的是boolean类型的数据。用它来判断某个对象是否是某个Class类的实例。

注:对象可以是class类的实例,也可以是class类子类的实例,也可以是class类实现类的实例。

例子:

  package com.lin;

  interface A { } 

  class B implements A { } //B是A的实现

  class C extends B { } //C继承B

  class D { }

  class lin{

    public static void main(String[] args) {

      A a = null;

      B b = null;

      boolean res;

      System.out.println("lin 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("liin 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("lin  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("lin  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

    }
  }

猜你喜欢

转载自blog.csdn.net/ldlly0505/article/details/81125927