CSDNRGY 2017-06-15 08:54 采纳率: 88.6%
浏览 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条)

报告相同问题?