问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么理解java多态的向下转型,感觉很变扭

发布网友 发布时间:2022-05-12 07:38

我来回答

6个回答

热心网友 时间:2024-02-19 19:34

这个可是Java核心中的核心,那是Java的精髓。你现在感觉挺别扭的是因为,你还没有见到它使用的场合罢了,一旦用于开发工厂类或者适配器类的话,这种转型就显得十分重要。对方传递给你的是子类对象,你用父类变量接收,却可以使用子类所定义的方法,这就避免了子类方法的丢失。
想想看,你通过Son向一个接口传递一个son对象,你是传递的参数是Father,假如你不使用向下转型,那么经过处理后传递给你的仅仅是父类实现的方法,而子类的方法丢失,这是无论如何都不允许的。这在用Java web用户登录的情况下十分有用,所有的用户都面对同一个接口,但是每个人的登录信息又没有丢失,这时候就要用到向下转型了(当然有些框架已经帮你实现了,你直接调用就行了)

热心网友 时间:2024-02-19 19:34

向下转型可以调用父类没有定义,但子类实现的方法
比如父类有a()方法,子类重写了a()方法,而且额外添加了一个b()方法,父类中没有b方法
那么要调用子类的b方法,必须将父类变量向下转型为子类才可以调用b方法

热心网友 时间:2024-02-19 19:35

转型是要看场合的,像你上面的代码是不需要使用多态的,多态的场合一般是不确定真正的对象是谁,才用父对象去引用,父对象就好比是一个规范,这样可以确保他的子类都有同样的方法,程序可以处理应对各种不同的业务实现。除非是子类有的而父类却没有才需要向下转型。

热心网友 时间:2024-02-19 19:36

无论怎样转型,aa 中都保存了一个B类型对象的地址,当向上转型后,只能操作符合A类型的接口,向下转型后,就能完全操作B类型对象的接口,无论怎样转型,对象内部结构是不变的,只不过能操作的范围变了

热心网友 时间:2024-02-19 19:36

您好!看到您的问题晚了,很抱歉来自:求助得到的回答

热心网友 时间:2024-02-19 19:37

多态必须满足三个条件:类继承,父类对象指向子类引用,方法覆盖
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? java中何时应用向下转型?怎样理解向下转型? java为什么向下转型是不安全的 java中为什么要用向下转型 在java中要使用向下转型是不是必须先向上转型啊 java向下转型,有啥作用。求解 java 向上转型 向下转型 JAVA中关于向下转型 java的向下转型问题? 如何理解java中的向下转型 java向下转型有什么用 为什么我的UG设计特征没有球体 这个是什么品种的鸟,图 宁夏银川有哪些汉餐? 我下载的ug里面怎么画圆柱体和球体的时候,怎么都是空壳啊 ,下载的ug6.0,7.0都一样。 银川2016年一碗拉面多少钱? ug 画一个 3/4的球体 ug正方形怎么画球形凸起 ug8.0有没有画球功能 在哪里能找到 银川哪家馆子拉面最好吃? ug如何画3/4的球 java多态向上转型向下转型的问题 java当中向上向下转型的作用是什么?向下转型的语法? java中向上转型和向下转型什么意思?是用来干什么的?请高手解释下,通俗点,谢谢! 三点蟹为什么便宜 java 中多态向下转型是怎么回事? 问下向下转型作用 这俩螃蟹是什么蟹 谁能告诉我这是什么蟹子? 百度知识营销具体该怎么做? 百度问答知识营销应该怎么做 七段可调中央减震什么意思 雷塞步进电机是哪个厂家生产的? 袋鼠减震器八段可调怎么调节 可调的减震器有什么推荐? 长安之星前减震器可调吗 企业是否有必要做百度知识营销 仓库货架的孔型都有哪几种 钢货架怎么 百度推广客服给开通了百意和知识营销,我要从哪儿关闭? 钢制货架生产工艺