CSDNRGY 2017-06-15 08:54 采纳率: 87.5%
浏览 908
已采纳

执行多态代码的时候,虚拟机中都发生了什么

最好能画图,说明下虚拟机中发生了什么~
求大神指点



class Test {

    public static void main(String[] args) {
        /*------重点在这里-执行这段代码的时候,虚拟机中发生了什么---------*/
        /*------主要是想了解,虚拟机中执行多态代码的时候,涉及到了哪些知识点---------*/
        System.out.println();
        Car bmw;
        bmw = new Bmw();
        bmw.run();
        Car benz;
        benz = new Benz();
        benz.run();
        /*-------在维基百科上看了一些,但是不知道为什么还是抓不住多态的重点---------*/
    }
}
class Car {

    public void run(){
        System.out.println("car run");
    }
}
class Bmw extends Car {

    @Override
    public void run() {
        System.out.println("bmw run");
    }


}
class Benz extends Car {

    @Override
    public void run() {
        System.out.println("benz run");
    }

}

  • 写回答

2条回答 默认 最新

  • oyljerry 2017-06-15 09:04
    关注

    就是基于多态的原则,bmw类型虽然是Car,但是它实际指向的是Bmw,所以调用run的时候会调用子类Bmw的run实现

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器