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

instanceof向下转型判断

时间:2022-09-26 16:25:18浏览次数:47  
标签:instanceof 判断 Students 转型 类型 向下

引用原文链接: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/SjhCode/p/instanceof.html

相关文章

  • 制造型企业的数字化转型离不开 MES 系统
    制造型企业的数字化转型离不开MES系统  现在企业的数字化转型是一个非常时髦的术语和工作,毕竟过去二十年是各类企业的信息化建设黄金时期。自数字化转型这个词诞生......
  • 报告分享|2022快消品行业线下分销链路数字化转型
     报告链接:http://tecdat.cn/?p=28643报告就以下问题展开讨论:1.中国快消品行业在快速发展的过程中到底发生了哪些新的调整?2.整个行业的持续发展依然重度依赖线下分销链......
  • 数字化转型需要经历哪些步骤?
    数字化转型大致分为下列五个步骤:1、首当其冲的是战略上的转型!客观来讲,数字化转型实际上是“一把手”的一场自我革命之旅,“一把手”要有自我否定的勇气,摒弃路径依赖,重塑......
  • 为什么数字化转型离不开 MES 系统?
    确切的说应该是制造业企业的数字化转型离不开MES系统,原因很简单,制造业企业的核心工作是生产制造,做数字化转型就是对生产制造各个环节进行数字化改造,提质增效降成本,而MES系......
  • 报告分享|2022汽车行业数字化转型白皮书
    全文链接:http://tecdat.cn/?p=28703受疫情影响,消费者购车行为偏好发生变化,以数字化、智能化手段洞察用户、进行精细化运营,以驱动汽车消费需求增长,成为车企迫在眉睫的诉求......
  • instanceof判断与类型转换!
    instanceof顺序和大小:  具体步骤:  代码:    转换类型!1.高转低(父类转子类)  2.低转高(子类转父类)  类型转换总结! ......
  • 数字化转型中管理者不能回避的3个问题:人才、团队和KPI
    导读企业决定数字化转型以后,管理者必须思考如下问题:如何构建数字化转型的领导组织?如何选拔人才和搭建组织架构?如何制定数字化转型的KPI?要想保证转型工作顺利开展,领导者必......
  • 精益生产是如何帮助企业实现数字化转型的?
    精益生产帮助企业实现数字化转型主要体现在企业在生产管理思想、理念上的指导。精益生产拉动式生产这种目标导向的的生产模式,很大程度上给企业(离散制造)在提质增效降成本方......
  • 企业数字化转型的关键是什么?
    企业数字化转型的关键在于人的转型!作为企业文化核心的“人”,是企业数字化转型的设计者和执行者,也是企业数字化转型成功与否的决定性因素。要从战略层面规划,切不可停留在“......
  • 怎样做数字化转型?
    做数字化转型,首先得明白它不是做信息化,而是业务层面的转型,是一把手工程,人和数字化工具二者都是数字化转型的重要抓手,缺一不可!数字化转型首先是人的转型,人是企业文化的核心,......