虚拟机在执行构造方法之前把子类的draw方法覆盖了父类的,如有需要就得特别指出

解决方案 »

  1.   


    那只要是父类被覆盖的方法,如果在父类的构造函数中,被调用执行时,都是调用了子类的函数??
    就这点想不明白。谢谢你的答复!还有就是,在父类的构造函数里,即使使用this.draw();仍然会调用子类覆盖的那个方法,麻烦帮忙解释下,谢谢了!!
      

  2.   


    那只要是父类被覆盖的方法,如果在父类的构造函数中,被调用执行时,都是调用了子类的函数??
    就这点想不明白。谢谢你的答复!还有就是,在父类的构造函数里,即使使用this.draw();仍然会调用子类覆盖的那个方法,麻烦帮忙解释下,谢谢了!!
    怎么说,引用编程思想一句话:如果要调用构造器内部的一个动态绑定方法(多态原理),就要用到那个方法的被覆盖后的定义,然而,这个调用的效果可能相当难以预料,……
    总结起来就是他想怎么干是虚拟机的事,你在这虚拟机实现的在另外一个可能实现不一样,你只要做构造器该做的事,别做多余的动作。具体可参考编程思想多态一节