首页 > 其他分享 >instanceof向下转型判断

instanceof向下转型判断

时间:2023-04-21 20:14:40浏览次数:23  
标签:instanceof 判断 Students 转型 类型 向下

https://www.cnblogs.com/SjhCode/p/instanceof.html

引用原文链接:https://blog.csdn.net/YXXXYX/article/details/120205124

概念:instanceof 概念在多态中引出,因为在多态发生时,子类只能调用父类中的方法(编译时类型的方法),而子类自己独有的方法(运行时类型的方法)无法调用,如果强制调用的话就需要向下转型,语法和基本类型的强制类型转换一样;但是向下转型具有一定的风险,很有可能无法成功转化,为了判断能否成功转化,就需要 instanceof 先进行一个判断,然后再进行转换操作;

instanceof 是一个运算符,语法为:引用类型变量(object) instanceof 类(class)。左边是对象,右边是类

功能:

判断前面的对象是否属于后面的类,或者属于其子类;如果是,返回 true,不是返回 false; boolean

注意事项:
使用 instanceof 时需要保证:
instanceof 前面的引用变量编译时的类型要么与后面的类型相同,要么与后面的类型具有父子继承关系。

null用instanceof跟任何类型比较,是返回false,而不是编译错误。

当你入参无法判断是哪个类型的子类,可以使用instanceof 先判断,再互相转换类型。

 
 public static void trans(Person p) {
        if (p instanceof Students) {
            Students s2 = (Students)p;
            // 通过向下转型便可以调用Students特有方法了
            s2.playing();
        }
        else if (p instanceof Teachers) {
            Teachers t2 = (Teachers)p;
            t2.shopping();
        }
    }
 

 

因为在实际开发中,如果需要向下转型的话,你无法保证你所要转换的可以成功,所以一定要记住:
只要是向下转型,一定要先用instanceof判断,再进行转换!!!!切记

instanceof总的来说就是在向下转型(强转)中必须使用的,可以保证自己代码的健壮性;
所以向下转型步骤是:先判断(instanceof),再转换(type)。

标签:instanceof,判断,Students,转型,类型,向下
From: https://www.cnblogs.com/chuangsi/p/17341611.html

相关文章

  • 关于Java中对象的向上转型和向下转型
    什么是多态?同一个类调用同一个方法会产生不同的影响/结果这就是多态publicclassPet{ publicvoideat(){ System.out.println("Peteat...") }}classDogextendsPet{ publicvoideat(){ System.out.pringln("Dogeat...") } publicvoidrun(){ System.ou......
  • 华为工单宝:助力制造业实现数字化转型,通过项目管理实现售 后服 务自动化
    当前,全球制造业正在经历一场数字化转型的浪潮。数字化转型对于中国制造业来说,不仅是从量变到质变的过程,更是一个“由外而内”的变革。通过对业务、流程和技术等各方面进行数字化改造,从根本上提升企业的竞争力。在这场变革中,如何通过数字化手段实现企业业务自动化?“售后服务管理是......
  • CDGA|数字化转型成功的关键要素
    根据一些知名的战略咨询公司的调研结论,80%的企业数字化转型是失败的。那么想要在数字化转型过程中获得预期的目标,需要具备哪些条件呢?首先是数字化转型的战略战略对于数字化转型的成功,就像公司的使命、愿景一样,如果公司没有制定明确转型战略,以及清晰的目标蓝图,要么大家都只是嘴上喊......
  • CDGA|推动数据治理中高端人才培育与提升,为银行数字化转型赋能
    近年来,许多银行纷纷在顶层设计层面布局数据治理,银行数据治理已然成为银行数字化转型、银行服务经济数字化转型的重要切入点,也是推动银行业由高速增长向高质量发展转变的重要“抓手”。在商业银行自身加强和完善数据治理工作的同时,政府与监管层面应如何创造更好的外部环境?推动数据治......
  • 华为工单宝:助力制造业数字化转型,通过项目管理实现售后服务自动化和规范化
    在企业数字化转型的道路上,产品研发是最先实现数字化的环节,但售后服务却是数字化转型的“最后一公里”,也是企业数字化转型过程中的难点所在。如何实现产品研发、售后服务一体化协同?如何将产品研发与售后服务过程进行有机结合?如何让售后服务过程中的订单管理、订单执行、客户服务等各......
  • 华为工单宝:助力制造业实现数字化转型,通过项目管理实现售后服务自动化
    当前,全球制造业正在经历一场数字化转型的浪潮。数字化转型对于中国制造业来说,不仅是从量变到质变的过程,更是一个“由外而内”的变革。通过对业务、流程和技术等各方面进行数字化改造,从根本上提升企业的竞争力。在这场变革中,如何通过数字化手段实现企业业务自动化?“售后服务管理是制......
  • CDGA|如何甄选企业数字化转型的切入点?
    近年来,很多企业都在深入实施创新驱动发展战略,聚焦产品创新、服务创新和商业模式创新,加快国有企业数字化转型步伐,引领高质量发展。企业想要进行数字化转型,切入点是很关键一步。牵一发而动全身、对企业其他组成部分的数字化转型具有较强引领和带动效应的领域。下面,小编给大家分......
  • CDGA|企业要的到底是数字化还是要转型?
    CDGA|企业要的到底是数字化还是要转型?最近有很多做数据相关工作的朋友向我们咨询一个问题:企业到底要的是数字化还是要转型呢?其实,最终给企业提供价值的是转型,数字化是转型所需的技术手段,两者缺一不可。因为数字化转型带给企业的作用有:随着物质生活的富裕,人们对产品的需求开......
  • 推进数字化转型进程,AntDB数据库协同神州云动共促新发展
    当今,数字化转型已成为企业发展的必由之路。随着新技术的不断发展和市场的日益竞争,越来越多的企业开始意识到数字化转型的重要性,在帮助企业数字化转型过程中,高效的客户关系管理软件和具有灵活性、可伸缩的数字底座,可以帮助企业突破管理瓶颈,降本增效的同时提高客户满意度,为企业的可持......
  • 联想数字化转型之路:从传统IT到“新IT”
    在现如今这个瞬息万变、不确定的时代里,数字化成为了最大的确定性。对于各个企业来说,数字化转型已经是大势所趋。注:Gartner2022年十大趋势预测 图片来源于网络中国信息通信研究院发布的《全球数字经济白皮书(2022年)》显示,全球47个国家数字经济增加值规模为38.1万亿美元,同比名义增......