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

Posted jssj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《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。

以上是关于《java基础知识》Java instanceof 运算符的主要内容,如果未能解决你的问题,请参考以下文章

java基础知识-12 instanceof 关键词的作用

Java基础__慕课网学习(22):Java中的instanceof关键字

3.java基础之关键字instanceof

Java基础系列--instanceof关键字

Java基础14-多态(思想转型instanceof)

2.25 Java基础总结 ①多态②向上向下转型③instanceof