• 《Java基础知识》Java instanceof 运算符


    java多态性带来一个问题,就是如何判断一个变量所实际引用对象的类型。这里java帮我们引入了 instanceof 运算符。

     instanceof运算符用来判断一个变量的所引用对象的实际类型,注意是它引用的对象类型,不是变了类型。

    请看下面的代码:

    public class People {
    }
    public class Teacher extends People {
    }
    public class President extends Teacher {
    }
    public final class Demo {
        public static void main(String[] args){
            People obj = new People();
            if(obj instanceof Object){
                System.out.println("我是一个对象");
            }
            if(obj instanceof People){
                System.out.println("我是一个人");
            }
            if(obj instanceof Teacher){
                System.out.println("我是一名教师");
            }
            if(obj instanceof President){
                System.out.println("我是一名校长");
            }
    
            System.out.println(" --------------------------------------------- ");
    
            obj = new Teacher();
            if(obj instanceof Object){
                System.out.println("我是一个对象");
            }
            if(obj instanceof People){
                System.out.println("我是一个人");
            }
            if(obj instanceof Teacher){
                System.out.println("我是一名教师");
            }
            if(obj instanceof President){
                System.out.println("我是一名校长");
            }
        }
    }

    运行结果:

    可以看出,如果变量引用的是当前类或它的子类的实例,instanceof 返回 true ,否则返回false。

    This moment will nap, you will have a dream; But this moment study,you will interpret a dream.
  • 相关阅读:
    C++ 中的深入浅拷贝和深拷贝
    C++ 引用小问题
    6-10
    6-8
    6-7
    6-4
    6-3
    6-1
    5-31
    COMException 依赖服务或组无法启动(0x8007042C)处理办法
  • 原文地址:https://www.cnblogs.com/jssj/p/11366089.html
Copyright © 2020-2023  润新知