java中instanceof运算符是什么

2026-01-29 0 91,049

概念

1、该运算符用于操作对象的例子,检查对象是否为特定类型(类型或接口类型)。

格式

2、如果计算器左侧变量所指的对象是操作器右侧类或接口的对象,则结果是真实的。

( Object reference variable ) instanceof  (class/interface type)

实例

   package com.verify_instanceof;
    public class TestInstanceOf {
        public static void main(String[] args) {
        //下面四行代码用来证明:instanceof运算符是判断对象变量中存放的引用的所属类是否与指定类相同,或者为指定类的后代类;而不是判断对象变量的所属类是否为指定类,或指定类的后代类
        A a1 = null;
        RootInterface ra = new A();
        System.out.println("a1 instanceof A:"+(a1 instanceof A));//null不是A类的实例对象,也不是A类的后代类的实例对象,故返回结果为false;
        System.out.println("ra instanceof RootInterface:"+(ra instanceof RootInterface));//true,原因在于对象变量ra中存放的引用的所属类为类A,而类A实现了接口RootInterface,可以理解为类A是接口RootInterface的子类
        System.out.println("ra instanceof A:"+(ra instanceof A));//对象变量ra中存放的引用的所属类为A类,故返回结果为true;
 
        //下面的代码用于验证只要对象变量中存放的引用的所属类是指定类或者是指定类的后代类,结果就为true;反之,结果为false;
        RootInterface rb = new B();
        RootInterface rc = new C();
        System.out.println("rb instanceof A:"+(rb instanceof A));//true,原因在于对象变量rb中存放的是类B的实例对象的引用,而指定类为类A,类B为类A的直接后代类,故返回true
        System.out.println("rb instanceof B:"+(rb instanceof B));//true,原因在于对象变量rb中存放的是类B的实例对象的引用,而指定类就是类B,两个类为同一个类,故返回true
            System.out.println("rc instanceof A:"+(rc instanceof A));//true,原因在于对象变量rc中存放的是类C的实例对象的引用,而指定类为类A,类C为类A的间接后代类,故返回true
        System.out.println("rb instanceof C:"+(rb instanceof C));//false,原因在于对象变量rb中存放的是类B的实例对象的引用,而指定类为类C,类B不是类C的后代类,故返回false
        }
    }

以上就是java中instanceof运算符的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 java教程 java中instanceof运算符是什么 https://www.zhiup.top/10771.html

相关