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日