当前位置: 首页 > article >正文

instanceof关键字的详细解释

在创建对象的时候,左边的类型是静态不变的,定义什么类型就是什么类型,而右边对象的实际类型是一个动态不确定的,可以是左边的基类型或其子类型。(多态的思想)

interface A{}
class B implements A{

}
class C extends B {

}

public class Demo76 {
    public static void main(String[] args) {
        A a1 = new B();
        A a2 = new C();
        B b1 = new C();
        System.out.println(a1 instanceof A);//true
        System.out.println(a1 instanceof B);//true
        System.out.println(a1 instanceof C);//false
        System.out.println(a2 instanceof A);//true
        System.out.println(a2 instanceof B);//true
        System.out.println(a2 instanceof C);//true
        System.out.println(b1 instanceof A);//true
        System.out.println(b1 instanceof B);//true
        System.out.println(b1 instanceof C);//true
    }
}

 由上面的例子我们可以得到instanceof运算符:它的运行时语义并不关心它的左操作数的引用的静态类型,而只关心它所引用的对象的实际类型(堆中的实际类型)是否跟右操作数所指定的类型相匹配。

如果想更加详细的了解instanceof关键字,可以去看看大牛的解读https://www.zhihu.com/question/21574535/answer/18998914


http://www.kler.cn/a/299209.html

相关文章:

  • 基于Python的机器学习系列(33):强化学习简介
  • Linxu系统:kill命令
  • 【系统架构设计师-2009年】综合知识-答案及详解
  • 如何处理Flask中的路由
  • 谷歌浏览器在智能手机上的隐私保护措施
  • 24下半年学习计划
  • 群晖SPK套件之NAS公网助手的安装教程
  • 基于小程序的老孙电子点菜系统开发设计与实现+ssm论文ppt开题报告源码调试讲解
  • Java数据结构(八)——插入排序、希尔排序
  • 828华为云征文|部署全平台实时协作 Markdown 笔记平台 CodiMD
  • 「漏洞复现」通天星CMSV6车载定位监控平台 getAlarmAppealByGuid SQL注入漏洞
  • Linux连接阿里云服务器的一系列命令教程
  • 棋牌灯控箱计时计费管理系统软件网关端口设置方法 佳易王麻将馆计时收银会员管理系统操作教程
  • LeetCode题练习与总结:矩形面积--223
  • ansible--role
  • Java解决Jira单点登录、登出思路介绍
  • 解锁Web3.0——Scaffold-eth打造以太坊DApp的终极指南
  • Qt常用控件——QLabel
  • [数据集][目标检测]乱堆物料检测数据集VOC+YOLO格式1143张1类别
  • mqtt协议用于物联网数据传输协议,它与http协议有什么区别