普通网友 2017-07-27 07:28 采纳率: 0%
浏览 3625

为什么多态下不能调用子类特有方法????

图片说明
图片说明

如果 ,内存中应该Animal 的引用 指向的是堆内存中的new Dog();而方法区中 Dog.class 里应该有一个look();方法但是为什么不能调用/??

  • 写回答

3条回答 默认 最新

  • 卖太妃糖的古尔丹 2017-07-27 07:44
    关注

    这种事情为啥子纠结
    首先这是java的语法规定
    Animal a = new Dog();这种写法,是编译时期,声明了一个Animal类型引用
    一个Animal类型的变量,当然不能调用.look方法,因为你没声明啊,
    new Dog();在运行的时候,JVM,发现new关键字,开辟一片内存空间,并且调用
    构造进行初始化,生成了Dog对象,在调用具体实现的时候会调用dog的eat
    方法,也就是多态。

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站