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
//而且我们发现,将第三段测试做如下修改:
System.out.println("\ninstanceoftest test case 3: ------------------"); B b2=(B)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);
返回值依然为:
instanceoftest test case 3 : ------------------ b2 instanceof A: true b2 instanceof B: true b2 instanceof C: true |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端