instanceof及类型转换

Posted zgmzbhqa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了instanceof及类型转换相关的知识,希望对你有一定的参考价值。

instanceof

instanceof是Java中的二元运算符,

左边是对象,右边是类;

当对象是右边类或子类或间接子类所创建对象时,返回true;否则,返回false。

//Teacher和Student继承Person 
//Object>String
//Object>Person>Teacher
//Object>Person>Studnet
Object object = new Student();
        System.out.println(object instanceof Student);//true
        System.out.println(object instanceof Person);//true
        System.out.println(object instanceof Object);//true
        System.out.println(object instanceof Teacher);//false
        System.out.println(object instanceof String);//false
        System.out.println("=======================");
        Person person = new Student();
        System.out.println(person instanceof Student);//true
        System.out.println(person instanceof Person);//true
        System.out.println(person instanceof Object);//true
        System.out.println(person instanceof Teacher);//false
//        System.out.println(person instanceof String);//编译错误
        System.out.println("=======================");
        Student student = new Student();
        System.out.println(student instanceof Student);//true
        System.out.println(student instanceof Person);//true
        System.out.println(student instanceof Object);//true
//        System.out.println(student instanceof Teacher);//编译错误
//        System.out.println(student instanceof String);//编译错误

 

 

 

 

数据类型转换

1.基本数据类型转换:

byte,short,char<int <long<float<double

由低到高自动转换byte--->double 自动

由高到低强制转换double--->byte 强制

2.引用数据类型

子类<父类

student<person<object

由低到高,自动转换student---->object 自动

由高到低,强制转换object---->student 强制

子类转父类,自动动转换,但会丢失子类的方法。

以上是关于instanceof及类型转换的主要内容,如果未能解决你的问题,请参考以下文章

12.instanceof和类型转换

typeof和instanceof简介及用法

引用类型的转换问题和instanceof

Day013 instanceof和类型转换

JEP 305: InstanceOf

instanceof运算符与引用变量的强制类型转换