java中instanceof用法

2023-11-01

java 中的instanceof 运算符是用来在运行时[color=red][b]指出对象是否是特定类的一个实例[/b][/color]。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

示例如下:

interface A {
}

class B implements A {

}

class C extends B {

}

public class mytest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
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("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("instanceoftest 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);

}

}


[b]输出[/b]

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中instanceof用法 的相关文章

随机推荐

  • 判断单链表是否有环,如何寻找环的入口结点

    今天我们来讨论一个有趣的链表问题 判断链表是否有环 如果有环 环的入口结点如何寻找 文章目录 1 如何判断一个单链表是否有环呢 2 如何找到环的入口结点 1 如何判断一个单链表是否有环呢 一个单链表如果有环 那它只可能是这样的 如下图所示
  • vue实现注册界面

    p 在 Vue 中实现注册界面可以分为以下几步 p ol li p 在组件中创建一个表单 用来输入用户名 密码 电子邮件等信息 p li li p 使用 Vue 的表单绑定特性 将表单中的输入绑定到组件的数据中 p li li p 创建一个
  • acc 蓝牙_蓝牙音频传输格式:ACC,SBC,APTX和LDAC

    ACC Advanced Audio Coding 高级音频编码 ACC是杜比实验室为音乐社区提供的技术 是一种高压缩比的编码算法 实际体验上都认为同样的码率下面 ACC的听感比MP3好 apple上面ACC的音频很多 所以现在的iphon
  • Qt之事件处理机制

    目录 一 事件简介 二 事件的处理 1 重写notify处理函数 2 事件过滤器 3 重写event处理函数 4 重写特定事件处理函数 三 事件的发送 一 事件简介 Qt 是一个基于 C 的框架 主要用来开发带窗口的应用程序 使用的基于窗口
  • SMP,NUMA,MPP

    一 概念介绍 SMP Symmetric Multi Processor 对称多处理器 NUMA Non Uniform Memory Access 非一致存储访问结构 MPP Massive Parallel Processing 海量并
  • exynos5410 TMU系统的critical情况处理方法

    根据TMU 将CPU的温升分为四种情况来处理 分别是下述情况 THERMAL TRIP HOT THERMAL TRIP ACTIVE THERMAL TRIP PASSIVE THERMAL TRIP CRITICAL THERMAL T
  • PhotoShop 快捷键及技巧

    复制图层 图层 新建 复制图层 图层上右键 点击复制图层 ctrl J 删除图层 选中图层 按del键删除图层 对图像实现自由变换 ctrl T 同过图像边框八个方块对图像实现大小变化 按回车键确认变换 按住shift键实现等比例变换 勾选
  • Python程序报错:TypeError: read() missing 1 required positional argument: ‘self‘

    文章目录 问题描述 问题定位 解决方法 总结 问题描述 最近在学习python面向对象执行调用方法时程序报错 TypeError read missing 1 required positional argument self 一看这个报错
  • 阿里Esay-excel解析复杂表头方案实际应用

    目录 我遇到的场景 思路 一 观察表格整体结构 二 设计数据结构 三 引入依赖 四 建立实体 五 实现自定义解析逻辑 六 业务调用 七 其他代码段 可以参考的链接 我遇到的场景 业务上需要读取表格中的所有数据 接着入库保存 思路 一 观察表
  • 获取地址栏url参数

    获取url携带参数 getUrlParams url var arr url split var params arr 1 split var obj for var i 0 i lt params length i var param p
  • 8. unity脚本参数输入、键盘控制、组件脚本调用

    1 脚本参数 在脚本文件中可以定义一些公开的属性 这时对应的属性也会在编辑器中显示出来 可以在编辑器中直接改动属性的值 如下代码 将 rotateSpeed 属性使用 public 修饰后 using System Collections
  • ChatGPT引发的人机交互发展历程与升级思考

    ChatGPT自从去年12月火爆以来一直热度不减 最近正好研读了科技之巅 书中详细阐述了人机交互 人工智能 算力算法等技术的发展历史 本文主要围绕ChatGPT引发的人机交互方面的思考 在讨论人机交互之前 首先需要说明的一点 目前计算机发展
  • AndroidStudio启动模拟器 Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration

    配置完Androidstudio 第一次启动模拟器 启动不了报错 错误 Emulator emulator ERROR x86 emulation currently requires hardware acceleration 错误原因
  • Windows Vista介绍概要

    正文 Windows Vista介绍概要 关键日程表 Beta 1 2005年7月27日 1 CTP 由2005年12月20日 Build 5270 開始 每兩至三個月推出新版本 Beta 2 2006年5月23日 Build 5384 4
  • Java 通过JDBC连接Mysql数据库的方法和实例

    之前有两篇文章讲了安装mysql ubuntu和windows 和可视化工具workbench的使用 这篇文章就讲一下java程序是如何连接MySQL数据库的 Java是通过JDBC连接Mysql数据库的 JDBC Java Data Ba
  • Linux运维常见面试题之精华收录

    1 什么是运维 什么是游戏运维 1 运维是指大型组织已经建立好的网络软硬件的维护 就是要保证业务的上线与运作的正常 在他运转的过程中 对他进行维护 他集合了网络 系统 数据库 开发 安全 监控于一身的技术 运维又包括很多种 有DBA运维 网
  • webrtc android版本的编译及release版本的获取

    本文主要介绍如何在ubuntu16 0 4平台下编译android版本的webrtc 对于刚开始使用webrtc的人来说 本篇博客可能对你有所帮助 对于健忘的我来说 也算是一种学习笔记 当有需要的时候 回头过来翻看一下也是极好的 好了 进入
  • JDK8辅助学习(四):Stream流 collect() 方法的详细使用介绍

    Stream流 collect 方法的使用介绍 1
  • linux配置jdk,jenkins,python3,git

    一 安装jdk 自动化测试的主要目的是为了执行回归测试 当然 为了模拟真实的用户操作 一般都是在UAT或者生产环境进行回归测试 为了尽量避免内网和外网解析对测试结果的影响 将自动化测试服务部署在外网的服务器是比较好的选择 今天申请的测试服务
  • java中instanceof用法

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