java中instanceof用法

12月17日 收藏 29 评论 6 java开发

java中instanceof用法

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

 用法:

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 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);
      
       res = b instanceof B;
       System.out.println("b instanceof B: " + res);
      
     System.out.println("/ninstanceoftest 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


*/

C 6条回复 评论
三缄

想要学 UI,自学的方法遍地是,网上教程一搜一大堆

发表于 2022-04-06 23:00:00
0 0
秒秒

对我帮助很大,最重要的是帮我认识到自己的不足

发表于 2021-12-07 14:40:00
0 0
一圓江月

收藏不息,战斗不止

发表于 2021-11-28 21:00:00
0 0
呵呵

我非科班18年毕业,现在转开发来得及吗,可能要先培训6个月

发表于 2021-09-13 21:55:00
0 0
孑然

清晰直白,真不戳

发表于 2021-09-12 10:35:00
0 0
望岳

接口测试工具的话可以试试国产的接口测试工具apipost,使用起来很方便简介,不需要安装环境,全中文使用起来方便。下载地址:https://www.apipost.cn

发表于 2021-09-09 12:20:00
0 0
是小橘子吖

好多HR热衷于这样问……

发表于 2021-09-09 11:40:00
0 0
灯油

666666

发表于 2018-12-18 10:46:13
0 0