instanceof的用法

2019-05-29  本文已影响0人  後来的後来hugh

java 中的instanceof 是一个二元操作符(运算符)运算符,由于是字母组成,所以是Java的保留关键字,但是和>=,<=,==属同一类,它的作用是用来判断,instanceof 左边对象是否为instanceof 右边类的实例,返回一个boolean类型值。还可以用来判断子父类的所属关系。

用法:

boolean result = object instanceof class

参数:

Result:布尔类型。

Object:必选项。任意对象表达式。

Class:必选项。任意已定义的对象类。

说明:

如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

例子如下:

package com.instanceoftest;

 interface A{}

 class B implements A{

 }

 class C extends B {

 }

 class instanceof test {

  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);

       res = b instanceof B;

       System.out.println("b instanceof B: " + res);

     System.out.println("/n  instanceoftest test case 2: ------------------");  

     a=new B();

     b=new B();

res = a instanceof A;

     System.out.println("a instanceof A: " + res);

     res = a instanceof B;

     System.out.println("a instanceof B: " + res);

     res = b instanceof A;

     System.out.println("b instanceof A: " + res);

res = b instanceof B;

     System.out.println("b instanceof B: " + res);

     System.out.println("/ninstanceoftest test case 3: ------------------");

     B b2=(C)new C();

     res = b2 instanceof A;

     System.out.println("b2 instanceof A: " + res);

     res = b2 instanceof B;

     System.out.println("b2 instanceof B: " + res);

  res = b2 instanceof C;

     System.out.println("b2 instanceof C: " + res);

  }

}

/*

result:

instanceoftest test case 1: ------------------

a instanceof A: false

b instanceof B: false

instanceoftest test case 2: ------------------

a instanceof A: true

a instanceof B: true

b instanceof A: true

b instanceof B: true

instanceoftest test case 3: ------------------

b2 instanceof A: true

b2 instanceof B: true

b2 instanceof C: true

*/

上一篇下一篇

猜你喜欢

热点阅读