JavaSE基础篇:instanceof关键字

简介: JavaSE基础篇:instanceof关键字

instanceof关键字介绍

instanceof关键字在java当中严格意义上来讲是一个双目运算符,用来测试一个对象是不是另一个类(接口)的实例,或者直接或者间接子类或者实现类。

对象 /null instanceof interface/类/抽象类

boolean result = obj instanceof Class
if(obj instanceof Object){}

Object必须是引用类型

obj必须是引用类型不能是基本类型

@Test
    public void test02(){
        System.out.println(4 instanceof Object);
    }
    //错误写法

instanceof 运算符只能作为对象的判断

当引用类型是枚举类型的时候。
    public static void getShowAllInstance(){
        for (ProjectEnums value : ProjectEnums.values()) {
            if(value instanceof ProjectEnums){
                System.out.println(value.getProjectName());
            }
//            施工项目
//            建设项目
//            图纸项目
//            输送项目
        }
    }
@Test
    public void Test03(){
        System.out.println("-----------------------");
        System.out.println(String.class instanceof Class);
        System.out.println(Class.class instanceof Class);
        boolean result = Class.class instanceof Object;
        System.out.println(result);
    }

obj 为null

java分两种数据类型,一种是基本数据类型,一共八中,另一种是引用类型,包括类、接口、数组、枚举和特殊的null类型,null类型没有名字,null引用时null类型的唯一可能的值,null引用可以转换成任意引用类型,null可以使任意引用类型的特殊符号。

javase当中对于instanceof规范的规定是如果obj是null,返回FALSE

@Test
    public void Test04(){
        System.out.println(null instanceof Class);//false
        System.out.println(null instanceof Object);//false
        System.out.println(null instanceof String);//false
    }

obj 为类的实例对象

没啥可说的TRUE

obj 为接口实现类的实例

是实现类是TRUE,不是FALSE

相关文章
|
8月前
|
存储 Java
JavaSE——方法(2/2)-方法重载、return关键字在方法中单独使用
JavaSE——方法(2/2)-方法重载、return关键字在方法中单独使用
40 4
|
9月前
|
存储 Java
在Java中,定义一个类首先需要使用`class`关键字
【4月更文挑战第6天】在Java中,定义一个类首先需要使用`class`关键字
139 1
|
9月前
|
Java
两千字讲明白java中instanceof关键字的使用!
两千字讲明白java中instanceof关键字的使用!
59 0
|
Java 编译器
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
【JavaSE专栏69】throw、throws关键字,实现优雅的抛出异常
176 0
|
Java
一文带你了解Java中的static 静态关键字和final 不可变关键字
本文比较偏向基础,适合初学者观看学习参考。本文主要介绍了static 静态关键字、静态static关键字修饰成员变量、静态static关键字修饰成员方法、静态代码块、 final 关键字、final关键字用于修饰类、final关键字用于修饰成员方法 、final关键字用于修饰局部变量、final关键字用于修饰成员变量。
155 0
一文带你了解Java中的static 静态关键字和final 不可变关键字
|
Java
Java常用关键字(final,abstract,instanceof,static)简介
1.final关键字 1.1final关键字基本介绍 (1)用来修饰类,在JDK中,被设计为final类的有String、System等。 当用final修改类时,该类成为最终类,无法被继承。简称为“断子绝孙类”。 (2)用来修饰一个方法 当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。 (3)final修饰变量, ①如果是基本数据类型的变量,则其数值一旦在初始化之后便不能改变; ②如果是对象类型的变量,只能保证它的引用不变,但对象的内容是可以改变的
163 0
Java 中 instanceof 关键字用法
Java 中 instanceof 关键字用法
147 0
Java 中 instanceof 关键字用法