首页 > 其他分享 >instanceof关键字

instanceof关键字

时间:2023-11-30 18:35:12浏览次数:39  
标签:instanceof System cat 关键字 类型 println out

image

instanceof用于判断类型

  1. eg:cat instanceof Animal
    判断该对象引用,是否是为该类型(自身类、自身类父类、Object)都是返回true,其他情况返回false

  2. eg: str instanceof String

例子

AnimalParent类

public class AnimalParent {
}

Cat类

public class Cat extends AnimalParent {
}

Dog类

public class Dog extends AnimalParent {
}

测试及运行结果

public class Test01 {
    public static void main(String[] args) {
        AnimalParent cat=new Cat();
        String str="猪猪侠";
        //对象的引用  instanceof  具体的类型(类或者接口)
        //cat instanceof Dog 返回布尔类型 是该类型则返回true  不是则是false
        if(cat instanceof Dog){
            System.out.println("该对象引用是狗类型,可以强转");
            Dog dog=(Dog)cat;
            //强转在编译阶段不报错
            // 在程序运行阶段,可能报错,所以需要这么写
        }else {
            System.out.println("该对象引用不是狗类型,不可以强转");
        }
        //在编译状态下,class可以是object对象的父类,自身类,子类。这三种情况下java编译时不会报错
        if(cat instanceof Cat){
            System.out.println("猫 是我们的猫类型");
        }else {
            System.out.println("猫 不是我们的猫类型");
        }
        if(cat instanceof AnimalParent){
            System.out.println("猫 是我们的动物类型");
        }else {
            System.out.println("猫 不是我们的动物类型");
        }
        /*animalParent 对象 instanceof
        * 判断该对象引用,是否是为该类型(自身类、自身类父类、Object)都是返回true,其他情况返回false
        */
        //也可以判断类型
        if (str instanceof String){
            System.out.println("str是字符串类型");
        }else {
            System.out.println("str不是字符串类型");
        }
    }
}

image

标签:instanceof,System,cat,关键字,类型,println,out
From: https://www.cnblogs.com/jiefei6658/p/17867985.html

相关文章

  • SQL 关键字执行顺序
    1.FromandJOIN首先我们进行查询的时候,肯定是先获得一份数据集的,From语句和JOIN被先执行的,就是为了获得数据集的。2.WHERE一旦数据集给拿到了,WHERE限制条件会被用到某些行上,并把不满足的行给抛弃掉。并且,这能够用到各种数据类型中3.GROUPBYWHERE条件限定之后,接下来就是GRO......
  • C++ 11 关键字:thread_local
    thread_local是C++11新引入的一种存储类型,它会影响变量的存储周期。C++中有4种存储周期:automaticstaticdynamicthread有且只有thread_local关键字修饰的变量具有线程(thread)周期,这些变量在线程开始的时候被生成,在线程结束的时候被销毁,并且每一个线程都拥有一个独......
  • java基础学习:跳转关键字:break,continue
    1.总览:break:跳出并结束当前所在循环的执行continue:用于跳出当前循环的当次执行,直接进入循环的下一次执行 packagecom.itheima.BreakAndContinue;publicclassBreakAndContine1{publicstaticvoidmain(String[]args){for(inti=1;i<=5;i++){......
  • C#中out关键字
    简介在C#中可以使用out关键字,指定所给的参数是一个输出参数。out关键字的使用方式与ref关键字相同,都是在函数定义和函数调用中用作参数的修饰符。一个使用out关键字的例子internalclassProgram {    staticvoidMain(string[]args)   {    ......
  • C#中的ref关键字
    值参数(ValueParameters)1、传递的是参数的值(数据的副本)而不是原始数据本身。2、函数内部对值参数的修改不会影响到原始数据。3、通常用于传递基本数据类型(如整数、浮点数、布尔值)或不可变对象(如字符串、元组)。4、值参数的传递是一种传值调用(CallbyValue)。示例代码  in......
  • 关键字 开发-06 封装yaml文件直接生成测试用例
    前言前面几个章节,我们主要是如何通过yaml文件的数据自动转换成测试用例,并按照关键字去执行,如下是之前我们通过参数化的形式手动执行用例。fromutils.runimportRunByKey#获取文件路径file_path=Path(__file__).parent.joinpath('data','login.yml')@pytest.mark.para......
  • Vue中process.env关键字,process.env.VUE_APP_BASE_API
    Vue中process.env关键字,process.env.VUE_APP_BASE_API:https://blog.csdn.net/coinisi_li/article/details/128547778 vue分环境配置变量及打包:https://blog.csdn.net/weixin_44794123/article/details/121682978?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.......
  • (二十八)C#编程基础复习——This关键字
    在C#中,可以使用this关键字来表示当前对象,日常开发中我们可以使用this关键字来访问类中的成员属性以及函数。不仅如此this关键字还有一些其他的用法,示例如下:一、使用this表示当前类的对象namespace_016{internalclassProgram{staticvoidMain(string[]a......
  • SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析
    SQLRIGHTJOIN关键字SQLRIGHTJOIN关键字返回右表(table2)中的所有记录以及左表(table1)中的匹配记录。如果没有匹配,则左侧的结果为0条记录。RIGHTJOIN语法SELECTcolumn_name(s)FROMtable1RIGHTJOINtable2ONtable1.column_name=table2.column_name;注意:在某些数据库......
  • 关键字 开发-05 读取yaml文件内容动态生成用例
    前言在第一篇文章中,我们讲过了通过钩子函数pytest_collect_file可以收集到yaml格式的用例,并且可以生成测试用例。想要动态生成测试用例,也就是动态生成测试函数,然后pytest收集到test开头的func,执行测试函数。关键代码如下所示:defrun_function(*args,**kwargs):print("测......