BX14 2023-04-29 07:59 采纳率: 95.7%
浏览 15
已结题

关于#java#的问题:为什么向下转型不能直接调用方法

为什么向下转型不能直接调用方法,而是必须接收再调用?
如图就是为什么不能1,而是必须要进行2

img

  • 写回答

1条回答 默认 最新

  • Mini厂程序员 2023-04-29 08:41
    关注

    因为变量o1的引用指向的是对象类型是Object类型,那它就只能调用Object类的方法,本来只有继承或者实现接口的方法才能把子类的对象指向父类的引用类型,但是因为java所有的类型都是Object类型,所以可以用Object类型接收任何引用,如果是继承或者实现关系的时候,如果父类的引用指向的是子类的引用,那就只能调用父类提供的非private方法,如果这个方法子类重写了,就会去调用子类的实现

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月29日
  • 已采纳回答 4月29日
  • 创建了问题 4月29日

悬赏问题

  • ¥15 网络爬虫 在北京新发地抓取数据
  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上
  • ¥20 WPF 如何实现多语言,label 和cs(live Charts)中是否都能翻译
  • ¥15 STM32F103上电短路问题
  • ¥15 关于#单片机#的问题:以ATMEGA128或相近型号单片机为控制器设计直流电机调速的闭环控制系统(相关搜索:设计报告|软件设计|流程图)
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。